java - 找到这个无限循环的原因

标签 java infinite-loop

我正在开发这个程序,该程序很快就要上课了,但我一生都无法弄清楚为什么我有一个无限循环。这是我的第一堂编码课,所以这对我来说都是很新鲜的。我发现循环来 self 的“getLocation”方法,我认为我尝试计算“location”变量的方式有问题,但就像我说的我不确定。我们刚刚开始使用多个类和私有(private)构造函数,这真的让我很失望。我会接受任何我能得到的帮助。谢谢!

public int getLocation(){
    while (location <= 250) {

    location = 5;
    location++;                     //endless loop here
    System.out.println("test");
    }

    return location;
}

最佳答案

while (location <= 250) {

location = 5;
location++;                     //endless loop here
System.out.println("test");
}

location在此循环中永远不能超过 250。执行循环体后,它的值始终为6,因为您将其设置为5并加1。

所以,提供location <= 250当它到达这个循环时,它永远不会停止。

移动location = 5;在循环体之外(或者直接删除它)。

关于java - 找到这个无限循环的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40686813/

相关文章:

java - 无法在服务器部署上启动 Quartz

java - 有关小部件上下文/生命周期的信息

c - scanf 导致无限循环并且不返回 -1 或 EOF

c - 在 do-while 循环中验证输入类型

mysql - 使用触发器时无限循环执行

java Pair 和 ArrayList 问题

java - 如何将日期时间数据字符串转换为 LocalDate?

Java,执行sql查询时避免卡住应用程序

c - 为什么这不是无限循环?它是如何工作的?

jquery - 如何在 jquery 中级联动画