作者BruceMac (布鲁斯麦克)
看板java
标题Re: [问题] 两层以上的for回圈break?
时间Mon Jun 16 16:22:59 2014
另外写个helper method, 用 return 终结是最好的作法,
第二个作法是在外层 for loop 条件多加一个 isBreak == false
以下例子应该能达到你要的效果
String s = "";
for (int i = 0; i < 10 && !s.equals("bruce"); i++) {
for (int j = 0; j < 10; j++) {
System.out.println("i = " + i + " ; j = " + j);
if (i == 5) {
s = "bruce";
break;
}
}
}
System.out.println("End of both for-loops");
// continue to do something you want
goto在 java 5 中还有作用, 现在好像被废了
不过不用也好, 免得出现义大利面式的 bug
※ 引述《henry4343 (henry)》之铭言:
: 请问一下两层以上的for回圈要break有什麽好方法吗?
: 目前的作法是:
: isBreak = fasle;
: for () {
: for () {
: if() {
: isBreak = true;
: break;
: }
: }
: if(isBreak) {
: break;
: }
: }
: 但如果再更多层不就要多一堆boolean判断,原本在obj-c内用goto就没这问题,
: 但java好像没有goto的功能?
: 感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.236.238.206
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1402906982.A.788.html