如何让Java延迟几秒钟?

2022-09-02 00:53:06

嘿,我有这个代码。我想将程序延迟几秒钟并显示“正在扫描...”

这是我所拥有的。这可以编译,但不会延迟任何内容

 if (i==1){

        try {
            Thread.sleep(1);
        } catch (InterruptedException ie)
        {
            System.out.println("Scanning...");
        }

    }

提前感谢我有int i = 1之前显然


答案 1

如果要暂停,请使用:java.util.concurrent.TimeUnit

TimeUnit.SECONDS.sleep(1);

睡一秒钟或10分钟

TimeUnit.MINUTES.sleep(10);

或线程休眠

try        
{
    Thread.sleep(1000);
} 
catch(InterruptedException ex) 
{
    Thread.currentThread().interrupt();
}

另请参阅官方文档

TimeUnit.SECONDS.sleep()将呼叫 .唯一的区别是可读性,并且在不明显的持续时间内使用TimeUnit可能更容易理解。Thread.sleep

但如果你想解决你的问题

        int timeToWait = 10; //second
        System.out.print("Scanning")
        try {
            for (int i=0; i<timeToWait ; i++) {
                Thread.sleep(1000);
                System.out.print(".")
            }
        } catch (InterruptedException ie)
        {
            Thread.currentThread().interrupt();
        }

答案 2

Thread.sleep()需要毫秒数进入睡眠状态,而不是几秒钟。

睡眠一毫秒并不明显。试着睡一秒钟。Thread.sleep(1000)