java - 在java中暂停for循环

标签 java loops

有没有办法在 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
}
  1. 声明变量i并赋值为 0 .
  2. 它检查条件 i < 6 .如果为真,则进行第 3 步。否则进行第 6 步。
  3. 遍历循环体。
  4. 增加变量i由于 i++在 for 循环标题中。
  5. 转到第 2 步。
  6. 循环结束。

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

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/

相关文章:

php - 为什么反向循环比正常循环快(包括测试)

python - 列表中的两个以下元素

c - 仅使用循环来区分两个字符串

java - Spring Boot 如何返回我自己的验证约束错误信息

java - 当我更改模型时更新 JavaFX 表

java - 从第二个微调器位置获取字符串值

java - 将二维数组传递给构造函数时出现 NullPointerException

Java条件编译: how to prevent code chunks from being compiled?

MySQL - 循环遍历表,更新列 'Day',其中值与另一列 'Week' 匹配

performance - 递归比循环更快吗?