【发布时间】:2019-02-11 04:57:43
【问题描述】:
do while 循环将执行 30 秒的持续时间。因为我必须每 5 秒打印一次当前日期...为此我编写了如下代码。但它没有按预期工作......
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
long duration = (30 * 1000);
do {
while (true) {
try {
System.out.println(" Date: " + new Date());
Thread.sleep(2 * 1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} while ((System.currentTimeMillis() - startTime) < duration);
}
【问题讨论】:
-
我没有看到打破内部
while (true)循环的条件 -
你认为内循环的执行应该如何结束?如果要每 5 秒打印一次,为什么要在内循环中休眠 2 秒?
-
@divz 我看不出你想在这里实现什么。
标签: java