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

作者: jetswayss (小犬)   2014-06-12 13:40:26
java 可以使用label替迴圈命名
在迴圈之前
使用 labelname:
就可以替迴圈命名
例如你的程式碼可以改成
outer:
for () {
inner:
for () {
if() {
break outer;
}
}
}
如此一來就可以break到兩層
continue也可以這麼使用
更詳細可以到官方tutorials看
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html
作者: henry4343 (henry)   2014-06-12 13:46:00
感謝
作者: swpoker (swpoker)   2014-06-12 15:28:00
語法通~但真的請不要這樣子做~
作者: Killercat (殺人貓™)   2014-06-12 17:04:00
我看過更糟的 丟exception到外面catch :3
作者: danny8376 (釣到一隻猴子@_@)   2014-06-12 17:30:00
這有啥問題嗎? 還是你覺得一堆boolean更美觀更易懂?
作者: cyclone350 (老子我最神)   2014-06-12 19:20:00
有問題吧... exception拿來當break? 跟美觀無關
作者: danny8376 (釣到一隻猴子@_@)   2014-06-12 20:57:00
回的是break...
作者: Killercat (殺人貓™)   2014-06-13 06:42:00
其實往好處想 C裡面就是goto:跟setjmp/longjmp選一個不然就是傳統如op的打到死。其實labelled break算不錯了
作者: LaPass (LaPass)   2014-06-13 12:52:00
java的標準做法就是這樣啊...... 不然呢?我記得除了for之外,有大括弧的都這可這樣命名的樣子。
作者: gmoz ( This can't do that. )   2014-06-13 13:58:00
exception應該要用在更大坨的吧XD
作者: Killercat (殺人貓™)   2014-06-13 14:01:00
印度人CODE無奇不有(絕非諷刺反串)
作者: TonyQ (自立而後立人。)   2014-06-13 16:37:00
我覺得 label 跟提 function 都算是可以用的選項。
作者: Killercat (殺人貓™)   2014-06-13 17:32:00
其實我偏向用CoR 大家可以試試看...Chain of Responbility可以處理相同模式且複雜10倍場合不過CoR C/C++好寫 Java...不難寫但是累贅就是
作者: popcorny (畢業了..@@")   2014-06-13 17:45:00
樓上是不是把問題過度複雜化了?
作者: Killercat (殺人貓™)   2014-06-13 17:49:00
不盡然 畫畫流程圖動動腦也是一種思考阿 :D
作者: lovdkkkk (dk)   2014-06-13 21:12:00
Java labels. To be or not to be: http://ppt.cc/qYa7不過 label 寫起來最直觀 (與通用)其它的若廻圈結構一變感覺都不太好改...

Links booklink

Contact Us: admin [ a t ] ucptt.com