Re: [问题] 两层以上的for循环break?

楼主: JustinHere (良葛格)   2014-06-12 15:40:50
※ 引述《henry4343 (henry)》之铭言:
: 请问一下两层以上的for循环要break有什么好方法吗?
: 目前的作法是:
: isBreak = fasle;
: for () {
: for () {
: if() {
: isBreak = true;
: break;
: }
: }
: if(isBreak) {
: break;
: }
: }
: 但如果再更多层不就要多一堆boolean判断,原本在obj-c内用goto就没这问题,
: 但java好像没有goto的功能?
: 感谢
这种可以包成一个方法…不想用 label 的话…
ReturnType doFor(Param param) {
for() {
for() {
if() {
return yourResult1;
}
}
}
return yourResult2;
}
作者: lovelycateye (我还想要更多力量)   2014-06-13 13:53:00
推荐这篇作法,return 清楚明了
楼主: JustinHere (良葛格)   2014-06-13 15:02:00
很多时候,抽出成一个方法,可以解决自觉丑丑的流程XD
作者: omidofor (妈妈咪呀)   2014-06-13 20:52:00
作者: foreverlord   2014-06-14 22:03:00
推 这个方法最直观
作者: lovdkkkk (dk)   2014-06-14 23:11:00
不过 return 就只能全停,不能只停某几层。
作者: lovelycateye (我还想要更多力量)   2014-06-16 16:04:00
可以分层抽出不同 function 啊XD
作者: lovdkkkk (dk)   2014-06-16 19:32:00
也是可以,只是就变成要跳多层要加判断了。
作者: dsin (dior)   2014-06-17 17:15:00
有个问题 当每层都是抽成func 大家函数名都怎么取好 加1,2,3?
楼主: JustinHere (良葛格)   2014-06-18 06:59:00
看你那层循环实际做了些什么就怎么命名

Links booklink

Contact Us: admin [ a t ] ucptt.com