我正在尝试制作一个简单的闹钟作为我的第一个 Java 项目。但是,我无法让我的代码连续读取时间。我只是在 java 中使用 simpleclock 东西,现在我只需要担心小时和分钟。
我想了解如何更新我的“int hour”和“int minute”。我正在考虑读取无限 while 循环中的变量。
感谢任何帮助,谢谢!
Calendar now= Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute=now.get(Calendar.MINUTE);
int k=1;
while (k==1) {
System.out.println(hour);
System.out.println(minute);
}
最佳答案
你应该为此使用一个线程而不是不断地打印出时间。如果这是您(最有可能)需要的,请参阅上面的帖子;但是,为了了解您做错了什么,这里有一个解释。
随着时间的推移,您不会更新小时和分钟变量。
例如,如果您在 2:52 运行此程序,在您进入 while 循环之前,小时最初为 2,分钟最初为 52。然后,一旦您进入 while 循环循环,小时=2,分钟=52,永远不会改变。
换句话说,一旦您进入 while 循环的范围,如 {
和 }
所示,您将不会运行while 循环上方的前三个语句再次出现。
此外,由于 while 循环将评估一个条件,您只需将 k==1
技巧替换为 true
,该条件将始终评估为真的。两种方式是等价的,但后者更优雅。
解决方法:
while (true) {
Calendar now= Calendar.getInstance();
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute=now.get(Calendar.MINUTE);
System.out.println(hour);
System.out.println(minute);
}
关于java - 如何连续读取时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20766090/