在java中重启双循环的方法

时间:2015-09-12 17:47:01

标签: java loops for-loop nested-loops

我正在寻找在java中重启嵌套循环的方法 基本上这就是我的想法:

for(int i = 0; i < value; i++) {
  for(int j = 0;j < value2;j++) {
     if(condition) {
        i=-1;
        break;
     }
     //some code here
     }
    }

但也许你可以提出更好的建议?

3 个答案:

答案 0 :(得分:0)

你可以使用循环标签。

 OUTER: for(int i = 0; i < value; i++) {
          for(int j = 0;j < value2;j++) {
             if(condition) {
                continue OUTER;
              }
           //some code here
         }
       }

答案 1 :(得分:0)

试试这个:

private void ExampleLoop(boolean isStarted)
{
    while(isStarted)
    {
        if(condition)
        {
            isStarted = false;
        }
    }
}

然后在主要:

MyClass myClass = new MyClass();
myClass.ExampleLoop(true);
//Or stop with:
myClass.ExampleLoop(false);

答案 2 :(得分:0)

Lambda函数?

class Ideone
{

    static Runnable r;
    static boolean brokeOnce = false;


    public static void main (String[] args)
    {
        r = () ->  { 
            firstloop: for (int i = 0; i <= 2; i++) {
              for (int j = 0; j <= 2; j++) {
                System.out.println(i + " " + j);
                if (!brokeOnce && i == 1 && j == 1) {
                    brokeOnce = true;
                    r.run();
                    break firstloop;
                }
              }
            }
        };

        r.run();
    }
}

Ideone链接:http://ideone.com/EqPEJ6