Java 计时器代码



所以我有这段代码,它最多计数到 21,但我想为每个数字制作一个 3 秒的计时器,如下所示:

13秒后
阿拉伯数字
3秒后

33秒后


四像这样,这是我的代码,如果你有任何想法,你能帮我做点什么吗?

package me.Capz.While;
public class WhileLoop {
    public static void main(String args[]) {
        double money = 0;
        while (money < 22) {
            System.out.println(money);
            money++;
        }
    }
}

实现此目的的最简单方法可能是使用 Thread#sleep(long)

package me.Capz.While;
public class WhileLoop {
    public static void main(String args[]) {
        double money = 0;
        while (money < 22) {
            System.out.println(money);
            money++;
            try {
                Thread.sleep(3000L); // The number of milliseconds to sleep for
            } catch (InterruptedException e) {
                // Some exception handling code here.
            }
        }
    }
}

这是您的问题陈述的异步、非阻塞解决方案:

public static void main(String[] args) {
    printAndSchedule(1);
}
public static void printAndSchedule(final int money) {
    if (money < 22) {
        System.out.println(money);
        new Timer().schedule(new TimerTask() {
            public void run() {
                printAndSchedule(money + 1);
            }
        }, TimeUnit.SECONDS.toMillis(3));
    }
}
代码

下面的用户。这将暂停 3 秒钟。

System.out.println(money);
Thread.sleep(3000);
public static void main(String args[]) throws InterruptedException {
    double money = 0;
    while (money < 22) {
        System.out.println(money);
        money++;
        Thread.sleep(3000);
    }
}

最新更新