另外寫個helper method, 用 return 終結是最好的作法,
第二個作法是在外層 for loop 條件多加一個 isBreak == false
以下例子應該能達到你要的效果
String s = "";
for (int i = 0; i < 10 && !s.equals("bruce"); i++) {
for (int j = 0; j < 10; j++) {
System.out.println("i = " + i + " ; j = " + j);
if (i == 5) {
s = "bruce";
break;
}
}
}
System.out.println("End of both for-loops");
// continue to do something you want
goto在 java 5 中還有作用, 現在好像被廢了
不過不用也好, 免得出現義大利麵式的 bug
※ 引述《henry4343 (henry)》之銘言:
: 請問一下兩層以上的for迴圈要break有什麼好方法嗎?
: 目前的作法是:
: isBreak = fasle;
: for () {
: for () {
: if() {
: isBreak = true;
: break;
: }
: }
: if(isBreak) {
: break;
: }
: }
: 但如果再更多層不就要多一堆boolean判斷,原本在obj-c內用goto就沒這問題,
: 但java好像沒有goto的功能?
: 感謝