以下是我的计划结构:
for(loop1){
if(condition1)
{
for(loop2)
{
for(loop3)
{
if(condition1_3)
{
As condition1_3 is true continue with loop2's next iteration,
No need to execute loop3's remaining iteration
}
else
{
As condition1_3 is false no need to execute remaining part of loop3 and
loop 2 but continue with loop1's remaining part i.e. condition1_1
}
}
}
}
if(condition1_1)
{
some code here
}
}
我知道我必须使用continue
和break
声明,但不明白具体如何?
请告诉我如何实现这种机制?
答案 0 :(得分:2)
如果我理解您的问题,您可以使用labeled continue
,
loop1: for (;;) {
if (condition1) {
loop2: for (;;) {
loop3: for (;;) {
if (condition1_3) {
continue loop2;
} else {
continue loop1;
}
}
}
}
}
答案 1 :(得分:1)
您可以执行以下操作:
for(loop1){
if(condition1)
{
for(loop2)
{
boolean flag=false;
for(loop3)
{
if(condition1_3)
{
break;
}
else
{
flag=true;
break;
}
}
if(flag)
break;
}
}
if(condition1_1)
{
some code here
}
}
答案 2 :(得分:0)
要突破并且不继续使用loop3; if (condition1_3) break;
休息;声明只会突破当前循环,而不是它嵌套的循环。
编辑:错过了问题
要打破这两个循环,你可以在两个循环之前和两个循环的末尾都有一个布尔标志if (breakOut) break;
这将解决问题
答案 3 :(得分:0)
请执行以下操作 -
for(loop1){
boolean flag = false;
if(condition1)
{
for(loop2)
{
if(flag == true)
break;
for(loop3)
{
if(condition1_3)
{
break;
}
else
{
flag = true;
break;
}
}
}
}
if(condition1_1)
{
some code here
}
}
答案 4 :(得分:0)
如果要退出特定循环并检查每个相应的循环是否继续或退出,请设置一个退出标志。
boolean exitLoop2 = false;
for(loop1){
if(condition1)
{
for(loop2)
{
for(loop3)
{
if(condition1_3)
{
//As condition1_3 is true continue with loop2's next iteration,
//No need to execute loop3's remaining iteration
break;
}
else
{
//As condition1_3 is false no need to execute remaining part of loop3 and
//loop 2 but continue with loop1's remaining part i.e. condition1_1
exitLoop2 = true;
break;
}
}
if(exitLoop2)
{
break;
}
}
}
if(condition1_1)
{
some code here
}
}
答案 5 :(得分:0)
一个选项是使用变量 - 但你必须考虑正确设置值:
boolean runFor1 = true;
boolean runFor2 = true;
boolean runFor3 = true;
for(loop1 && runFor1)
{
for(loop2 && runFor2)
{
for(loop3 && runFor3)
{
setRunForX here to skip/unskip loops
}
}
}
}
答案 6 :(得分:0)
我真的不知道你究竟是什么意思。对我来说,如果满足特定条件,您似乎只想跳出循环。因此,您可以为循环定义标签并使用continue labelLoopX;
语句,或者如果loop3
,则可以满足condition1_3==true
的退出条件。如果loop3
,loop2
和condition1_3==false
的退出条件。例如如果loop3看起来像这样for ( int i = 0; i < 10; i++ )
:
if(condition1_3){
//do something important
i=10; //sets i to 10 and condition i < 10 is unsatified
}
else{
//do some other important stuff
i=10; //satify loop3's exitcondition
j=10; //satify loop2's exitcondition
}