我正在寻找一些我最近遇到过的问题的帮助。我想从200减少到0,但我不希望它是瞬间的,而是我希望它在一秒钟内递减。例如,在0.5秒时,它将是100,0.75,它将是50,依此类推。如果这是可能的话,我很乐意听到你们的意见! - 非常感谢,布兰登
答案 0 :(得分: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 :(得分:0)
您可以尝试使用计时器。安排它以所需的间隔运行并根据需要减少该值。还有其他选项,比如在循环中迭代,等待所需的间隔然后递减。
答案 2 :(得分:0)
你可以涉及一个Java Thread,在run方法中创建一个循环并在条件下使用Thread.sleep方法。
答案 3 :(得分: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());
}
}