在Java中暂停for循环

eBe*_*ani 5 java loops

有没有办法在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是一个可以从另一个类调用的静态布尔值。我提到的程序取决于我。

Dan*_*Dan 3

当迭代 for 循环时,例如下面的循环,它会执行以下操作

for (int i = 0; i < 6; i++) {
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)
  1. 它声明变量i并分配值0
  2. 它检查条件i < 6. 如果为 true,则继续执行步骤 3。否则,执行步骤 6。
  3. 遍历循环体。
  4. i由于i++for 循环头中的 ,增加变量。
  5. 转到步骤 2。
  6. 循环结束。

至于你的目标,我不确定你的目标是什么。您是否希望使用阻塞方法调用来暂停?如果是这样,那么这样的事情就会起作用:

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)

希望这有帮助。