有没有办法在 Java 中暂停 for 循环?那么有没有办法在出现提示时只进行一次迭代?我读了这个http://answers.yahoo.com/question/index?qid=20100212201605AAazS73并且解决方案似乎可能有一些问题,主要是因为我不完全理解 for 循环检查其标题的顺序。我能想到的唯一可以完成类似事情的方法如下
do {
if (FLAG) {
//Do procedure
i++;
FLAG = false;
}
} while ( i < 6);
当标志为真时,程序完成,计数器向前移动一位。不过,我不喜欢这样,因为只要计数器低于 6,它就会一直循环,如果我没记错的话。有什么想法吗?
-很抱歉不够清晰。在我的例子中,FLAG 是一个静态 boolean 值,可以从另一个类调用。我提到的过程取决于 i。
最佳答案
当遍历 for 循环时,例如下面的循环,它会执行以下操作
for (int i = 0; i < 6; i++) {
// Do stuff
}
- 声明变量
i
并赋值为0
. - 它检查条件
i < 6
.如果为真,则进行第 3 步。否则进行第 6 步。 - 遍历循环体。
- 增加变量
i
由于i++
在 for 循环标题中。 - 转到第 2 步。
- 循环结束。
至于你的目标,我不确定你的目标是什么。您是否希望使用阻塞方法调用来暂停?如果是这样,那么这样的事情就可以了:
for (int i = 0; i < 6; i++) {
System.in.readLine();
}
或者,您可以使用某种标志来轮询以检查循环是否应该继续,例如:
for (int i = 0; i < 6; i++) {
while (paused) {
// An infinite loop that keeps on going until the pause flag is set to false
}
}
希望这对您有所帮助。
关于java - 在java中暂停for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8470004/