以下代码在eclipse中运行得非常好,但是当我在用于我的作业的不同IDE上运行它时,它会抛出运行时错误消息。任何想法或想法为什么?感谢。
final String sentence;
int mask = sentence.contains("abcd") ? 1 : 0;
mask |= sentence.contains("efgh") ? 2 : 0;
mask |= sentence.contains("ijkl") ? 4 : 0;
switch (mask) {
case 1:
case 1 | 2:
case 1 | 4:
case 1 | 2 | 4:
// do command a
break;
case 2:
case 2 | 4:
// do command b
break;
case 4:
// do command c
break;
default:
// do command d
}
}
这是输出:
7 9 11 10
10 11 9 7
答案 0 :(得分:0)
你的第二个循环应该是:
for (i = NUM_VALS -1; i >=0; i--) {...
答案 1 :(得分:0)
你的第二个for
循环是一个无限循环 - 你从一个小于NUM_VALS
的值开始然后继续减少它(好吧,至少它理论上是 - 正如你所注意到的,它失败了最终ArrayIndexOutOfBoundException
。简而言之,你结束条件是错误的 - 只要i
是非负的,循环应该迭代:
for (i = NUM_VALS - 1; i >= 0; i--) {
System.out.print(courseGrades[i] + " ");
}