반응형
다음과 같은 중첩 루프 구조가 있습니다.
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
반응형
'자바' 카테고리의 다른 글
Java의 배열 길이 (0) | 2021.04.08 |
---|---|
"java.lang.OutofMemoryError : Permgen Space"오류를 처리합니다 (0) | 2021.04.07 |
새 목록을 만들지 않고 목록으로 설정하십시오 (0) | 2021.04.07 |
Java에서 배열 정렬 (0) | 2021.04.07 |
java의 Mod for Syntax는 무엇입니까? (0) | 2021.04.07 |
댓글