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

看板java作者 (小犬)時間10年前 (2014/06/12 13:40), 編輯推噓5(5016)
留言21則, 10人參與, 最新討論串3/8 (看更多)
java 可以使用label替迴圈命名 在迴圈之前 使用 labelname: 就可以替迴圈命名 例如你的程式碼可以改成 outer: for () { inner: for () { if() { break outer; } } } 如此一來就可以break到兩層 continue也可以這麼使用 更詳細可以到官方tutorials看 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.213.88 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1402551628.A.D96.html

06/12 13:46, , 1F
感謝
06/12 13:46, 1F

06/12 15:28, , 2F
語法通~但真的請不要這樣子做~
06/12 15:28, 2F

06/12 17:04, , 3F
我看過更糟的 丟exception到外面catch :3
06/12 17:04, 3F

06/12 17:30, , 4F
這有啥問題嗎? 還是你覺得一堆boolean更美觀更易懂?
06/12 17:30, 4F

06/12 19:20, , 5F
有問題吧... exception拿來當break? 跟美觀無關
06/12 19:20, 5F

06/12 20:57, , 6F
回的是break...
06/12 20:57, 6F

06/13 06:42, , 7F
其實往好處想 C裡面就是goto:跟setjmp/longjmp選一個
06/13 06:42, 7F

06/13 06:43, , 8F
不然就是傳統如op的打到死。其實labelled break算不錯了
06/13 06:43, 8F

06/13 12:52, , 9F
java的標準做法就是這樣啊...... 不然呢?
06/13 12:52, 9F

06/13 12:57, , 10F
我記得除了for之外,有大括弧的都這可這樣命名的樣子。
06/13 12:57, 10F

06/13 13:58, , 11F
exception應該要用在更大坨的吧XD
06/13 13:58, 11F

06/13 14:01, , 12F
印度人CODE無奇不有(絕非諷刺反串)
06/13 14:01, 12F

06/13 16:37, , 13F
我覺得 label 跟提 function 都算是可以用的選項。
06/13 16:37, 13F

06/13 17:32, , 14F
其實我偏向用CoR 大家可以試試看...
06/13 17:32, 14F

06/13 17:34, , 15F
Chain of Responbility可以處理相同模式且複雜10倍場合
06/13 17:34, 15F

06/13 17:35, , 16F
不過CoR C/C++好寫 Java...不難寫但是累贅就是
06/13 17:35, 16F

06/13 17:45, , 17F
樓上是不是把問題過度複雜化了?
06/13 17:45, 17F

06/13 17:49, , 18F
不盡然 畫畫流程圖動動腦也是一種思考阿 :D
06/13 17:49, 18F

06/13 21:12, , 19F
Java labels. To be or not to be: http://ppt.cc/qYa7
06/13 21:12, 19F

06/13 21:13, , 20F
不過 label 寫起來最直觀 (與通用)
06/13 21:13, 20F

06/13 21:14, , 21F
其它的若廻圈結構一變感覺都不太好改...
06/13 21:14, 21F
文章代碼(AID): #1JcJrCsM (java)
討論串 (同標題文章)
文章代碼(AID): #1JcJrCsM (java)