作者jetswayss (小犬)
看板java
標題Re: [問題] 兩層以上的for迴圈break?
時間Thu Jun 12 13:40:26 2014
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://webptt.com/m.aspx?n=bbs/java/M.1402551628.A.D96.html
1F:推 henry4343:感謝 06/12 13:46
2F:→ swpoker:語法通~但真的請不要這樣子做~ 06/12 15:28
3F:推 Killercat:我看過更糟的 丟exception到外面catch :3 06/12 17:04
4F:→ danny8376:這有啥問題嗎? 還是你覺得一堆boolean更美觀更易懂? 06/12 17:30
5F:→ cyclone350:有問題吧... exception拿來當break? 跟美觀無關 06/12 19:20
6F:→ danny8376:回的是break... 06/12 20:57
7F:推 Killercat:其實往好處想 C裡面就是goto:跟setjmp/longjmp選一個 06/13 06:42
8F:→ Killercat:不然就是傳統如op的打到死。其實labelled break算不錯了 06/13 06:43
9F:推 LaPass:java的標準做法就是這樣啊...... 不然呢? 06/13 12:52
10F:→ LaPass:我記得除了for之外,有大括弧的都這可這樣命名的樣子。 06/13 12:57
11F:推 gmoz:exception應該要用在更大坨的吧XD 06/13 13:58
12F:→ Killercat:印度人CODE無奇不有(絕非諷刺反串) 06/13 14:01
13F:→ TonyQ:我覺得 label 跟提 function 都算是可以用的選項。 06/13 16:37
14F:→ Killercat:其實我偏向用CoR 大家可以試試看... 06/13 17:32
15F:→ Killercat:Chain of Responbility可以處理相同模式且複雜10倍場合 06/13 17:34
16F:→ Killercat:不過CoR C/C++好寫 Java...不難寫但是累贅就是 06/13 17:35
17F:→ popcorny:樓上是不是把問題過度複雜化了? 06/13 17:45
18F:→ Killercat:不盡然 畫畫流程圖動動腦也是一種思考阿 :D 06/13 17:49
20F:→ lovdkkkk:不過 label 寫起來最直觀 (與通用) 06/13 21:13
21F:→ lovdkkkk:其它的若廻圈結構一變感覺都不太好改... 06/13 21:14