这是我的循环类:

公共类计时器{

private Timer timer;
private static boolean isRunning = true;

public static void gameLoop()
{
    while(isRunning) //the loop
    {
        try {
            Main.cash--;
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            // e.printStackTrace();
        }
    }
}
}


运行小程序时,出现白色屏幕,并且无法关闭小程序,必须在eclipse中使用终止按钮。

最佳答案

while(isRunning=true) //the loop


...将isRunning设置为true,然后返回true(无论isRunning的先前值是什么),因此始终执行if语句。单个=是分配,在这种情况下,几乎可以肯定这不是您想要执行的操作。

您想使用==代替:

while(isRunning==true) //the loop


或者,更简洁地(最好也是!)简单地:

while(isRunning) //the loop


我假设isRunning在代码的其他地方都将设置为false,因为这里没有任何东西可以将其设置为false。

关于java - for(;;)循环使我的小程序无法使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16349477/

10-11 10:33