본문 바로가기
자바

Java에서 중첩 된 루프를 어떻게 탈출합니까?

by º기록 2021. 4. 7.
반응형

다음과 같은 중첩 루프 구조가 있습니다.

for (Type type : types) {
    for (Type t : types2) {
         if (some condition) {
             // Do something and break...
             break; // Breaks out of the inner loop
         }
    }
}

이제 두 루프에서 어떻게 탈출 할 수 있습니까?나는 비슷한 질문을 보았지만 Java는 특별히 존재하지 않습니다.가장 많이 사용되는 Gotos 때문에 이러한 해결책을 적용 할 수는 없습니다.

내부 루프를 다른 방법으로 넣고 싶지 않습니다.

나는 루프를 다시 실행하고 싶지 않습니다.깨지면 루프 블록의 실행으로 끝났습니다.

 

해결 방법

 

다른 답변과 마찬가지로, 나는 확실히 을 선호하는 을 선호하는 을 다른 방법으로 루프를 넣어 완전히 멈추게되도록 돌아갈 수 있습니다.이 답변은 질문의 요구 사항을 어떻게 충족시킬 수 있는지 보여줍니다.

break 를 외부 루프의 레이블로 사용할 수 있습니다.예 :

public class Test {
    public static void main(String[] args) {
        outerloop:
        for (int i=0; i < 5; i++) {
            for (int j=0; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking");
                    break outerloop;
                }
                System.out.println(i + " " + j);
            }
        }
        System.out.println("Done");
    }
}

이 인쇄물 :

0 0
0 1
0 2
0 3
0 4
1 0
1 1
1 2
1 3
1 4
2 0
2 1
2 2
2 3
Breaking
Done

 

참조 페이지 https://stackoverflow.com/questions/886955

 

 

반응형

댓글