【发布时间】:2017-06-13 20:45:06
【问题描述】:
我有以下带有 4 个案例的带有 switch 块的伪代码。在第 4 种情况下,我有 if else 条件并且当某些条件满足时,我将列表大小减少 1,它必须再次返回到第 4 种情况并从第 4 种情况的开头执行。我试图在案例 4 中创建一个标签:但它给出了编译错误。
switch(choice) {
case 1: /* do operations */
break;
case 2: /* do operations */
break;
case 3: /* do operations */
break;
case 4:
mylabel:
if(condition1) {
}
else if(condition2) {
}
else {
break mylabel;
}
break;
default :
}
上面的代码给出了编译错误。但我希望程序流程是这样的。所以我尝试了下面的代码:
switch(choice) {
case 1: /* do operations */
break;
case 2: /* do operations */
break;
case 3: /* do operations */
break;
case 4:
if(condition1) {
}
else if(condition2) {
}
else {
break case 4;
}
break;
default :
}
上面的代码仍然存在,我面临编译问题。是否有任何替代方法可以实现相同的目标。在这里,我需要回到我将要中断的同一 case 语句的开头。因此它是不同的。
【问题讨论】:
-
我希望您只需将
case 4代码包装在do { ... } while (cond)循环中。
标签: java switch-statement label conditional break