随着时间的推移Java减少

时间:2014-01-21 03:37:54

标签: java time decrement

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

4 个答案:

答案 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());
        }


    }