Re: [問題] 兩層以上的for迴圈break?

作者: lovdkkkk (dk)   2014-06-12 22:06:39
※ 引述《henry4343 (henry)》之銘言:
: 請問一下兩層以上的for迴圈要break有什麼好方法嗎?
: 目前的作法是:
: isBreak = fasle;
: for () {
: for () {
: if() {
: isBreak = true;
: break;
: }
: }
: if(isBreak) {
: break;
: }
: }
: 但如果再更多層不就要多一堆boolean判斷,原本在obj-c內用goto就沒這問題,
: 但java好像沒有goto的功能?
: 感謝
或許可以把判斷直接寫進 for () ?
for (...; ... && !isBreak; ...) {
...
for () {
...
}
}
作者: Killercat (殺人貓™)   2014-06-12 23:40:00
那還是會跑完全部第二圈才有機會出來啊....
作者: lovdkkkk (dk)   2014-06-13 00:18:00
第二圈跟原本的一樣用 break, 只是把後面的 if 搬上去 @@
作者: Killercat (殺人貓™)   2014-06-13 12:43:00
其實前面在想的就是避免這個flag 不過我是覺得都還可以
作者: longlongint (華哥爾)   2014-06-13 16:24:00
寫成函數直接return吧
作者: JustinHere (良葛格)   2014-06-16 07:23:00
filter, map, reduce, flatMap ...重構…一次做一件事…xd
作者: lovelycateye (我還想要更多力量)   2014-06-16 16:07:00
每層迴圈一定代表某見事情,分層抽出去 return 就好

Links booklink

Contact Us: admin [ a t ] ucptt.com