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

看板java作者 (良葛格)時間11年前 (2014/06/12 15:40), 編輯推噓7(702)
留言9則, 6人參與, 最新討論串4/8 (看更多)
※ 引述《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://www.ptt.cc/bbs/java/M.1402558857.A.A54.html

06/13 13:53, , 1F
推薦這篇作法,return 清楚明瞭
06/13 13:53, 1F

06/13 15:02, , 2F
很多時候,抽出成一個方法,可以解決自覺醜醜的流程XD
06/13 15:02, 2F

06/13 20:52, , 3F
06/13 20:52, 3F

06/14 22:03, , 4F
推 這個方法最直觀
06/14 22:03, 4F

06/14 23:11, , 5F
不過 return 就只能全停,不能只停某幾層。
06/14 23:11, 5F

06/16 16:04, , 6F
可以分層抽出不同 function 啊XD
06/16 16:04, 6F

06/16 19:32, , 7F
也是可以,只是就變成要跳多層要加判斷了。
06/16 19:32, 7F

06/17 17:15, , 8F
有個問題 當每層都是抽成func 大家函數名都怎麼取好 加1,2,3?
06/17 17:15, 8F

06/18 06:59, , 9F
看你那層迴圈實際做了些什麼就怎麼命名
06/18 06:59, 9F
文章代碼(AID): #1JcLc9fK (java)
討論串 (同標題文章)
文章代碼(AID): #1JcLc9fK (java)