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