【问题标题】:How to stop JOptionPane from choosing last case?如何阻止 JOptionPane 选择最后一个案例?
【发布时间】:2014-11-04 13:34:06
【问题描述】:
所以我的情况是缩短长代码。
假设我们有一个带有 3 个按钮的 JOptionPane。
boolean loopGameInterface = true;
while(loopGameInterface){
int chooseGame = JOptionePane........
switch(chooseGame) {
case 0:
case 1:
case 2:
System.exit(0);
}
}
所以问题是,当我单击(示例)第二个按钮时,它转到案例 1。这很好。但是当case 1里面的代码被执行时,它会直接进入case 2并退出我的程序,而不是仅仅循环gameInterface?
【问题讨论】:
标签:
java
loops
switch-statement
case
【解决方案1】:
您需要在每个案例的末尾添加break;。顺便说一句,所有 switch 语句都是如此,而不仅仅是在您使用 JOptionPane 时
【解决方案2】:
switch(chooseGame) {
case 0: /* Your code */
break;
case 1: /* Your code */
break;
case 2:
System.exit(0);
default : "Give some default case too"
}
【解决方案3】:
这是因为您没有添加break 语句。如果您不添加 break ,则将执行匹配的情况下的所有情况。例如:
switch(ch) {
case 1:
/* some code without break */
case 2:
/* some code without break */
case 3:
System.exit(0);
}
在上面的例子中,如果ch=1 那么所有case 2 也将被执行,然后case 3。
如果ch=2 则只有case 2 和case 3 将被执行,因为case 3 低于case 2。所以你需要在每个案例之后添加break。