gpt4 book ai didi

java - 日历秒数在 while 循环中没有增加

转载 作者:行者123 更新时间:2023-11-29 07:24:37 25 4
gpt4 key购买 nike

我试图让 while 循环在 5 秒半 (5.5) 后停止,所以我使用日历库获取当前的分钟秒数,然后将 5.5 递增到它上面。在该过程之后,它循环等待当前时间等于保存的变量

我意识到秒数没有增加...这是为什么?

代码:

package me.fangs.td;

import java.util.Calendar;

public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
double timeout = calendar.get(Calendar.SECOND) + 5.5;
while((double) calendar.get(Calendar.SECOND) < timeout) {
System.out.println((double) calendar.get(Calendar.SECOND));
Thread.sleep(1000);
}
}
}

最佳答案

我根本不会使用 Calender 库,而是使用 System.currentTimeMillis()

这是一个在 5.5 秒后终止的 while 循环:

long end = System.currentTimeMillis() + 5500;
while (System.currentTimeMillis() < end) {
//Do something
}
//Exit after 5.5 seconds

此版本的优势在于,您可以在循环运行时更改结束时间,从而更改循环运行的时间。

关于java - 日历秒数在 while 循环中没有增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56419678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com