有没有办法在Java中暂停for循环?那么有没有办法仅在出现提示时进行一次迭代?我读了这个http://answers.yahoo.com/question/index?qid=20100212201605AAazS73,该解决方案似乎可能存在一些问题,主要是因为我不完全了解for循环检查其标头的顺序。我想到的唯一可以完成类似任务的方法如下
do {
if (FLAG) {
//Do procedure
i++;
FLAG = false;
}
} while ( i < 6);
当该标志为真时,该过程完成并且计数器向前移动一个。不过,我不喜欢这样,因为只要我没记错,只要计数器低于6,它就会一直循环播放。有任何想法吗?
-很抱歉,您不清楚。在我的情况下,FLAG是一个可以从另一个类调用的静态布尔值。我提到的程序取决于我。
最佳答案
当遍历一个for循环(例如下面的循环)时,它将执行以下操作
for (int i = 0; i < 6; i++) {
// Do stuff
}
i
并分配一个值0
。 i < 6
。如果为true,则继续执行步骤3。否则,转到步骤6。i
,因此将变量i++
递增。 至于您的目标,我不确定您的目标是什么。您是否想使用阻止方法调用来暂停?如果是这样,那么类似的事情将起作用:
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
}
}
希望这会有所帮助。