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