我目前正在编写一个程序,其中需要嵌套循环来搜索数组以在数组中找到适合输入的位置。这是一个例子:
public void placePiece(int column) {
boolean goodInput = false;
while(!goodInput) {
for(int x = 5; x >= 0; x--) {
if(boardStatus[x][column] == 0) {
setRow(x);
boardStatus[x][column] = 1;
goodInput = true;
break;
}else if(boardStatus[0][column] == 1) {
goodInput = false;
break;
}else{
}
}
}
}
该方法采用一个参数,该参数是片段应位于的列(由鼠标监听器接收)。如果二维数组中的列已经填满,程序就会陷入“else if”的无限循环,我不确定如何跳出这个循环。如果输入错误,我如何才能跳出此循环,以便用户可以尝试提供另一列作为输入。
最佳答案
一个简单的方法是使用 labeled break statement .
myLabelName:
for(outer loop)
for(inner loop)
if(condition)
break myLabelName;
如果您不想在找到所需内容后浪费时间遍历其他对象/项目,这会很有用。
扩展一下,当你只使用 break;
(没有标签)时,它会退出父循环。
例如:
myLabelName:
for(outer loop){
for(inner loop){
if(condition){
break myLabelName; //breaks outer loop
}
else if(other condition){
break; //breaks parent (inner/nested) loop
}
}
}
关于java - 如何跳出嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29857721/