【发布时间】:2013-11-17 21:15:04
【问题描述】:
对于下面的switch语句:
如果选择了 0-9 之间的值,则输出正常。如果选择大于 9 的值,则输出始终为小写 z。
for (int i = 0; i < 3; i++)
{
random[i] = randomnumber.nextInt(36);
if (random[i] > 9)
{
switch(random [i])
{
case 10: character[i] = "A";
case 11: character[i] = "B";
case 12: character[i] = "C";
case 13: character[i] = "D";
case 14: character[i] = "E";
case 15: character[i] = "F";
case 16: character[i] = "G";
case 17: character[i] = "H";
case 18: character[i] = "I";
case 19: character[i] = "J";
case 20: character[i] = "K";
case 21: character[i] = "L";
case 22: character[i] = "M";
case 23: character[i] = "N";
case 24: character[i] = "O";
case 25: character[i] = "P";
case 26: character[i] = "Q";
case 27: character[i] = "R";
case 28: character[i] = "S";
case 29: character[i] = "T";
case 30: character[i] = "U";
case 31: character[i] = "V";
case 32: character[i] = "W";
case 33: character[i] = "X";
case 34: character[i] = "Y";
case 35: character[i] = "Z";
}
}
else
character[i] = Integer.toString(random[i]);
【问题讨论】:
-
在每种情况下添加中断语句。
-
顺便说一句,您可以通过对字符值进行一点加法来更轻松地获得相同的结果! :)
-
多么愚蠢的错误! -1:您的代码 WON"T COMPILE 在 Java 中。
-
@Desolator,需要详细说明吗?尽管它显然在语义上不正确,但我看不到语法有任何问题。
-
@Desolator 你错了。我的编译器可以很好地编译代码而没有任何中断,并且没有理由不应该这样做,因为规范没有提到中断是 switch-case 工作所必需的。
标签: java