有没有办法在Java中暂停for循环?那么有没有办法仅在出现提示时进行一次迭代?我阅读了此http://answers.yahoo.com/question/index?qid=20100212201605AAazS73,该解决方案似乎可能存在一些问题,主要是因为我不完全了解for循环检查其标头的顺序。我想到的唯一可以完成类似任务的方法如下
do {
if (FLAG) {
//Do procedure
i++;
FLAG = false;
}
} while ( i < 6);
Run Code Online (Sandbox Code Playgroud)
当该标志为真时,该过程完成并且计数器向前移动一个。不过,我不喜欢这样,因为只要我没记错,只要计数器低于6,它就会一直循环播放。有任何想法吗?
-很抱歉,您不清楚。在我的情况下,FLAG是一个可以从另一个类调用的静态布尔值。我提到的程序取决于我。
当迭代 for 循环时,例如下面的循环,它会执行以下操作
for (int i = 0; i < 6; i++) {
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
i并分配值0。i < 6. 如果为 true,则继续执行步骤 3。否则,执行步骤 6。i由于i++for 循环头中的 ,增加变量。至于你的目标,我不确定你的目标是什么。您是否希望使用阻塞方法调用来暂停?如果是这样,那么这样的事情就会起作用:
for (int i = 0; i < 6; i++) {
System.in.readLine();
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用某种轮询标志来检查循环是否应该继续,例如:
for (int i = 0; i < 6; i++) {
while (paused) {
// An infinite loop that keeps on going until the pause flag is set to false
}
}
Run Code Online (Sandbox Code Playgroud)
希望这有帮助。