Java错误中的switch语句

Yar*_*y T -1 java switch-statement

我在网上遇到了工作表的问题,我想知道是否有人可以向我展示我的问题的正确代码,并解释为什么应该这样写.

这是我正在处理的工作表上的问题:

这次让我们尝试使用switch语句将电话拨号盘上的字符转换为相应的数字.回想起那个

'A','B','C'映射到2'D','E','F'映射到3'G','H','I'映射到4'J','K', 'L'映射到5'M','N','O'映射到6'P','Q','R','S'映射到7'T','U','V'映射到8'W','X','Y','Z'映射到9

编写一个switch语句,在给定字符字母的情况下将变量数字设置为适当的数字.对于上面映射中未列出的任何其他字符,将数字设置为0.

这是我尝试使用switch语句解决问题:

switch (letter)
{

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' || 'O' : 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 : digit = 0;

break;
}
Run Code Online (Sandbox Code Playgroud)

我应该怎么做这个switch语句以及应该纠正什么?

我收到错误消息:我发现了比预期更多的元素,这里:

fge*_*fge 9

它应该是:

case 'A': case 'B': case 'C':
    // do something
Run Code Online (Sandbox Code Playgroud)

而且随着代码样式的不同,您可能还会看到:

case 'A':
case 'B':
case 'C':
    // do something
Run Code Online (Sandbox Code Playgroud)

这也是一样的.

侧节点:'A' || 'B'不合法,因为它||是一个逻辑布尔运算符,它期望双方都有布尔值; 但在这里你拥有的是人物.