-3

我正在开发 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();
                    }
            }

有任何想法吗?

4

5 回答 5

2

尝试

        while( (1 + 1) == 2) { 
于 2013-07-08T03:35:32.593 回答
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();
    }
}

注意:这称为忙等待。使用它通常是不好的做法。

于 2013-07-08T03:47:41.810 回答
1

这将是一个无限循环,并且永远不会结束,因为循环条件始终为真。因此,您可以按如下方式修改您的 while 循环while(true)。但请记住,无限循环是一种糟糕的编码习惯。

于 2013-07-08T04:29:07.763 回答
0

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

如果你想确保你进入你的循环为什么不使用while(true)

于 2013-07-08T03:48:33.907 回答
0

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

于 2013-09-02T10:26:28.907 回答