我不断遇到重复的案例错误

  • 本文关键字:案例 错误 遇到 java
  • 更新时间 :
  • 英文 :

import java.util.Scanner;
public class Selection
{
    public static void main (String[] args) throws java.lang.Exception
    {
        char key = 'A';
        Scanner in = new Scanner(System.in);
        System.out.println("Enter a letter to find the corresponding digit on a cellphone: ");
        int digit;
        switch (key) {
            case 'A' & 'B' & 'C': digit = 2;
                break;
            case 'D' & 'E' & 'F': digit = 3;
                break;
            case 'G' & 'H' & 'I': digit = 4;
                break;
            case 'J' & 'K' & 'L': digit = 5;
                break;
            case 'M' & 'N' & '0': digit = 6;
                break;
            case 'P' & 'Q' & 'R' & 'S': digit = 7;
                break;
            case 'T' & 'U' & 'V': digit = 8;
                break;
            case 'W' & 'X' & 'Y' & 'Z': digit = 9;
                break;
            default: System.out.println("There is no matching digit for that character.");
            System.out.println("The letter " + key + " corresponds to the number " + digit + " on a      cellphone.");
        }
    }
}

这就是我到目前为止所拥有的。基本上,我需要做一些可以采用字母顺序的字符输入并显示与手机上该字母相对应的东西,并仅接受大写字母并在输入其他内容时显示错误。我想要的最后一件事是有人为我做,我只想要指导。

&操作员在这里不做您的想法。它正在表现出一定的角色,并且在您的角色中的位上,其中一些情况的结果是相同的。根据我的IDE,

'A' & 'B' & 'C' => '@'
'G' & 'H' & 'I' => '@'
'P' & 'Q' & 'R' & 'S' => 'P'
'W' & 'X' & 'Y' & 'Z' => 'P'

即使没有重复的案例,您的代码也无法正常工作,因为您会有您没想到的字符案例。要在多种情况下执行相同的代码,请尝试以下操作:

case A:
case B:
case C:
    digit = 2;
    break;
case D:
case E:
case F:
    digit = 3;
    break;
// and so on

我想你的意思是

case 'A':
case 'B':
case 'C': domSomethingHere(); break
case 'E':
case 'F':
case 'G': domSomethingHere(); break

最新更新