Java 方法 while 循环无休止,即使似乎满足了突破情况

标签 java arrays loops while-loop infinite-loop

我有一个 while 循环,其循环条件是 boolean 变量为 true。循环中包含在退出循环时将 boolean 变量设置为 false 的逻辑。然而,它永远不会存在。我已通过打印一条消息确认该变量已设置为 false。

以下是该方法的概要:

public void collapse(){
    boolean status=true;
    while(status=true){
        // some processing
        if (some condition) {
             System.out.println("Setting status to false");
             status = false;
        }
        // more processing that doesn't set status to true
    }
}

这是怎么回事?

最佳答案

您在 while 语句中将状态分配为 true,而不是检查相等性。要么将其更改为 status == true,要么您可以只使用 status。

关于Java 方法 while 循环无休止,即使似乎满足了突破情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29856276/

相关文章:

php - 访问两种不同类型的数组时出现问题

javascript - 访问对象属性中的数组,Sequelize

javascript - 两个循环之间的区别

依赖 jar 时未导入 Java-Library 依赖项

c - 使用双指针参数访问函数内的数组成员的段错误

java - 在所有 JSON 生成端点上使用 @Produces ("application/json") 是一个好习惯吗?

c - 从文件中读取数组大小

bash - 逻辑运算符可以与 find 和 xargs 一起使用吗?

java - 在字符串上添加逗号和空格

java - Class as Hashtable 键——这是个好主意吗?