好的,所以我正在构建一个时钟,它会以 Log 10 (小时)的形式给出时间,并且以相同的格式给出分钟和秒,但是当它运行时我不断得到奇怪的输出。我得到的主要是 NAN,有时是无穷大(或它的负数)。我感觉我使用的数字有问题(比如它们可能太大或类似的东西) 注意:currentTime 是长的,日历是日历,小时、分钟和秒是双精度数。时钟变量也是一个 JLabel。在程序经过两次迭代后,它总是切换到 NAN。
this.timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
new SwingWorker<Void, Void>() {
@Override
protected Void doInBackground() throws Exception {
currentTime = System.currentTimeMillis();
calendar.setTime(new Date(currentTime));
hour = Math.log10(hour);
minute = Math.log10(minute);
second = Math.log10(second);
System.out.println(hour + " " + minute + " " + second);
return null;
}
@Override
protected void done() {
clock.setText("<html><body><p>Log Time: "
+ "Log<sub>10</sub>(" + hour + ") || "
+ "Log<sub>10</sub>(" + minute + ") || "
+ "Log<sub>10</sub>(" + second + ")</p></body></html>");
}
}.execute();
}
}, 0, 200);