首页 > 解决方案 > 如何让我的代码在运行更多代码之前稍等片刻?

问题描述

我正在尝试延迟打印指令和打印一堆数字。我正在使用 java.util.Timer 来执行此操作。请检查我的代码是否有任何问题。

    public static int secondsPassed = 0;

static Timer timer = new Timer();
static TimerTask task = new TimerTask() {
    public void run(){
        secondsPassed++;


    }
};
public static void start(){
    timer.scheduleAtFixedRate(task, 1000, 1000);

}

然后在我的代码中:

    start();
    while(secondsPassed <= 1){}
    for (int i = 0; i < 5; i++) {


        int randomInteger = random.nextInt(10);
        System.out.println(randomInteger);

        if (Int1 == 11){
            Int1 = randomInteger;
        }else{
            if(Int2 == 11){
                Int2 = randomInteger;
            }else{
                if(Int3 == 11){
                    Int3 = randomInteger;
                }else{
                    if(Int4 == 11){
                        Int4 = randomInteger;
                    }else{
                        Int5 = randomInteger;
                    }
                }
            }
        }
    }
    int Int6 = Int1+Int2+Int3+Int4+Int5;

我是初学者,这显然没有进行任何优化。目标是打印出 5 个数字并要求它们的总和,但我想给用户时间阅读说明。出于某种原因,我的代码甚至从未打印出随机整数。当我拿走 while() 的东西时,它就很好了。

如何让我的代码在运行另一段代码之前等待 4 秒?

标签: javatimer

解决方案


在 Java 中,您可以使用静态函数在当前线程中造成延迟,Thread.sleep(x)其中 x 是 long(以毫秒为单位)。

官方 Javadoc:https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#sleep(long)


推荐阅读