无限循环没有看到更新的变量

时间:2013-03-05 16:49:45

标签: java loops infinite

我有一个等待更新布尔值的方法的无限循环,虽然这似乎在学校都可以正常工作但它在家里不起作用。不确定这是否真的意味着它是基于计算机的,或者是什么,因为它也适用于那里的print语句。

while(running){
    //System.out.println(running);      
}

...

public static void passwordCheck(String pass){
    if(pass.equals(password)){
        correctPW = true;
    }
    else if(pass.equals(overKey))
        PWCoder.override(password);
    running = false;
}

...

public void actionPerformed(ActionEvent e){
    String temp = new String("");
    for(int x=0;x<passwordInput.getPassword().length;x++)
        temp+=passwordInput.getPassword()[x];
    PWCoder.passwordCheck(temp);
}

正如我所说,这段代码可以使用print语句取消注释,但这很难看。我在这里要找的是你输入的密码屏幕,如果你错了打开一个不同的窗口(代码没有显示),或者你可以输入调用覆盖方法的覆盖密码。我已经使用了很多调试语句,在方法中运行被设置为false,我想while循环只是不接受它。对不起,代码有点乱。 while循环有问题,方法应该循环结束,而另一个类中的方法调用所述方法。

1 个答案:

答案 0 :(得分:0)

一些问题,这应该有效

 public static void passwordCheck(String pass){
        if(pass.equals(password)){
            correctPW = true;
            running = true;
        }
        else if(pass.equals(overKey)) {
            PWCoder.override(password);
        running = false;
    }
    }

另外,你可以考虑使用break来摆脱成功的循环。