fir*_*w52 42 java loops break nested-loops
我已经使用Java很长一段时间了,但我的循环教育有点缺乏.我知道如何创建java中存在的每个循环,并打破循环.但是,我最近想过这个:
假设我有两个嵌套循环.我可以只使用一个
break
语句来打破两个循环吗?
这是我到目前为止所拥有的.
int points = 0;
int goal = 100;
while (goal <= 100) {
for (int i = 0; i < goal; i++) {
if (points > 50) {
break; // For loop ends, but the while loop does not
}
// I know I could put a 'break' statement here and end
// the while loop, but I want to do it using just
// one 'break' statement.
points += i;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?
sir*_*nce 83
在Java中,您可以使用标签指定要中断/继续的循环:
mainLoop:
while (goal <= 100) {
for (int i = 0; i < goal; i++) {
if (points > 50) {
break mainLoop;
}
points += i;
}
}
Run Code Online (Sandbox Code Playgroud)
Grz*_*ski 19
int points = 0;
int goal = 100;
someLabel:
while (goal <= 100) {
for (int i = 0; i < goal; i++) {
if (points > 50) {
break someLabel;
}
points += i;
}
}
// you are going here after break someLabel;
Run Code Online (Sandbox Code Playgroud)
有很多方法可以给这只猫上皮.这是一个:
int points = 0;
int goal = 100;
boolean finished = false;
while (goal <= 100 && !finished) {
for (int i = 0; i < goal; i++) {
if (points > 50) {
finished = true;
break;
}
points += i;
}
}
Run Code Online (Sandbox Code Playgroud)
更新:哇,不知道打破标签.这似乎是一个更好的解决方案.
归档时间: |
|
查看次数: |
53578 次 |
最近记录: |