java代码不适用于while循环

时间:2016-03-02 05:56:02

标签: java

我想在while循环中执行5分钟的代码。

long init= System.currentTimeMillis();
while(((System.currentTimeMillis()-time)/1000%60)<5){

//some part of code
}

但我无法解决任何建议如何修复它。

2 个答案:

答案 0 :(得分:0)

System.currentTimeMillis()取决于实施和操作系统。

而是使用System.nanoTime()返回最精确的可用系统计时器的当前值,以纳秒为单位。

这可能会给你带来时间问题。

long init= System.nanoTime();
while(((System.nanoTime()-init)/1000000000/60)<5){

//some part of code
}

答案 1 :(得分:0)

只是:更改以下代码,然后重试:

while(((System.currentTimeMillis()-time)/1000%60)<5){

while(((System.currentTimeMillis()-init)/1000/60)<5){

time更改为init,将%更改为/