如果在Java中满足条件,则中断2个循环

时间:2017-01-11 07:26:20

标签: java

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循环?

2 个答案:

答案 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;
       }
    }
}