我遇到了在线工作表的问题,我想知道是否有人可以向我展示我的问题的正确代码,并解释为什么应该这样编写。
以下是我所在工作表的问题:
这次让我们尝试使用switch语句将电话拨号盘上的字符转换为相应的数字。回想一下
'A','B','C'映射到2 'D','E','F'映射到3 'G','H','我'映射到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;
}
我该怎么做这个switch语句以及应该纠正什么?
我收到错误消息:我发现了比预期更多的元素,这里:
答案 0 :(得分:9)
应该是:
case 'A': case 'B': case 'C':
// do something
由于代码样式各不相同,您还可以看到:
case 'A':
case 'B':
case 'C':
// do something
这也是一样的。
侧节点:'A' || 'B'
不合法,因为||
是一个逻辑布尔运算符,它期望双方都有布尔值;但是这里有你的角色。