Java循环代码不工作

时间:2013-07-08 03:33:59

标签: java loops while-loop

我正在研究Gui程序的一部分,但我坚持使用这段代码。当用户单击一个按钮时,它会禁用该按钮(可以正常工作),但循环根本不起作用。我使用了一个while循环,只是让它做了一个简单的数学方程式。

 public void actionPerformed(ActionEvent arg0) {

            Enable.setEnabled(false);   
            Date d = new Date();
            int hrs = d.getHours();
            int mins = d.getMinutes();

            while(1 +1) == 2) { 
                    if(hrs == 17 & mins == 30) {
                        Function function = new Function();
                    }
            }

有什么想法吗?

5 个答案:

答案 0 :(得分:2)

尝试

        while( (1 + 1) == 2) { 

答案 1 :(得分:1)

您永远不会更新hrsmins。除非它恰好在你第一次运行这个应用程序时是17:​​30,否则它将无法运行。

while (true) {
    Date d = new Date();
    int hrs = d.getHours();
    int mins = d.getMinutes();

    if(hrs == 17 && mins == 30) {
        Function f = new Function();
    }
}

注意:这称为busy waiting。使用它通常是不好的做法。

答案 2 :(得分:1)

这将是一个无限循环,它将永远不会结束,因为循环条件始终为真。因此,您可以按照以下while(true)修改while循环。但要记住,拥有一个无限循环是一个不良的编码实践..

答案 3 :(得分:0)

除非它们点击按钮时恰好是5:30,否则不会做任何事情?只是永远循环?

如果您想确保输入循环,请不要只使用while(true)

答案 4 :(得分:0)

while(true)为我工作。试试这个。