T
这段代码只是打破了最内层的循环,所以它打破了 b 的循环而不是循环,我这样做是为了练习。
我在想,有没有办法在public class Newfile{
public static void main(String []args){
for(int a=1; a < 5; a++){
for(int b=1; b < 5; b++){
if(a == b){
System.out.println("pair found " + a + " " + b);
break;
}
}
}
}
}
满足后打破BOTH循环?
答案 0 :(得分:1)
使用标签的一种替代方法是从所有涉及的循环中为循环计数器赋值,以便在达到某个状态或条件时两个循环条件都会失败。
for (int a=1; a < 5; a++) {
for (int b=1; b < 5; b++) {
if (a == b) {
System.out.println("pair found " + a + " " + b);
b = 5;
a = 5;
}
}
}
答案 1 :(得分:1)
只需使用一个标志就可以打破两个循环:
boolean breakAll = false; // <<<< flag for breaking out
for(int a=1; a < 5 && !breakAll; a++){
for(int b=1; b < 5 && !breakAll; b++){
if(a == b){
System.out.println("pair found " + a + " " + b);
breakAll = true;
}
}
}