2014-01-21 128 views
0

我正在寻找一些帮助,解决我最近遇到的问题。我想从200下降到0,但我不希望它是瞬间的,而是我希望它在一秒钟内减少。例如,在0.5秒时它将是100,0.75将是50,等等。如果这是可能的话,我很乐意听到你们的声音! - 非常感谢,布兰登随着时间的推移Java递减

+0

是的,这是可能的。提示:使用'Thread.sleep' –

+0

查看Java中的线程和时间类 –

+0

'ScheduledExecutorService' –

回答

1

做你想做什么,这里的答案:

int index = 200; 

while(index != 0) 
{ 
    index--; 
    System.out.println("The value is: " + index); 
    try { 
     //200 * 5 milliseconds = 1 second 
     Thread.sleep((long) 5); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 
} 

您可能希望把这个线程。这里有一个页面可以帮助你: http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html

+1

啊,谢谢!这工作得很好,也感谢链接,我很快就会读到。 – user3217575

0

你可以尝试一个计时器。安排它按要求的时间间隔运行并根据需要递减该值。还有其他的选择,如循环迭代,等待所需的时间间隔,然后递减。

0

您可以涉及一个Java线程,在run方法中做一个循环并在条件下使用Thread.sleep方法。

0

你可以使用这样的事情。找到你想要延迟的比例,并使用thread.sleep在每次迭代中延迟它。 在每次迭代中正在运行的线程(主程序)会睡眠200毫秒

public static void main(String[] args) throws InterruptedException { 


     for(int i = 0;i<200;i++){ 
      Date date = new Date(); 
     Thread.sleep(200); // this is mili seconds 
     System.out.println(date.getTime()); 
     } 


    } 
相关问题