【发布时间】:2010-11-18 10:55:58
【问题描述】:
嗨
我是java初学者,我的程序有4个for循环:
我的程序是这样工作的,如果 b 是 true ,则该元素将从 pointList 中删除,n 将是 n-- 并且我想从所有 for 循环中退出并从第一个 for 循环中再次出现所以l 将是l++,我该怎么做?有break语句?
for (int l = 0; l < n; l++) {
for (int i = 1; i < (n - 2); i++) {
for (int j = i + 1; j < (n - 1); j++) {
for (int k = j + 1; k < n; k++) {
if (l != i && l != j && l != k) {
boolean b = isOK(pointList.get(l), pointList.get(i), pointList.get(j), pointList.get(k));
System.out.println(b);
if (b == true) {
pointList.remove(pointList.get(l);
n--;
break;
}
else
System.out.println(b);
}
}
}
}
}
【问题讨论】:
-
天哪!真的有必要这样走过吗?请avoid级联循环..
-
也许你可以用几句话描述你想做什么? “如果 b 为真,则删除第 l 项”。您的代码包含语法错误。请修复它,并澄清您的问题。
-
您似乎正在尝试查找符合某些条件的 4 个元素。如果您解释了标准是什么,也许我们可以建议一种更简单的方法来做同样的事情。例如也许首先对列表进行排序可能会简化循环。
-
+1 - 几乎没用的链接,但我还是同意这个建议。
标签: java for-loop label break labelled-break