作者JustinHere (良葛格)
看板java
标题Re: [问题] 两层以上的for回圈break?
时间Thu Jun 12 15:40:50 2014
※ 引述《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;
}
--
良葛格学习笔记
http://openhome.cc
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.14.108.80
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1402558857.A.A54.html
1F:推 lovelycateye:推荐这篇作法,return 清楚明了 06/13 13:53
2F:→ JustinHere:很多时候,抽出成一个方法,可以解决自觉丑丑的流程XD 06/13 15:02
3F:推 omidofor:推 06/13 20:52
4F:推 foreverlord:推 这个方法最直观 06/14 22:03
5F:推 lovdkkkk:不过 return 就只能全停,不能只停某几层。 06/14 23:11
6F:推 lovelycateye:可以分层抽出不同 function 啊XD 06/16 16:04
7F:推 lovdkkkk:也是可以,只是就变成要跳多层要加判断了。 06/16 19:32
8F:推 dsin:有个问题 当每层都是抽成func 大家函数名都怎麽取好 加1,2,3? 06/17 17:15
9F:→ JustinHere:看你那层回圈实际做了些什麽就怎麽命名 06/18 06:59