如何将我的Java程序暂停2秒钟

Eth*_*h89 5 java timer pause

我是Java的新手,正在制作一个小游戏进行练习。

if (doAllFaceUpCardsMatch == false) {
        //run pause here//
        concentration.flipAllCardsFaceDown();
} else {
        concentration.makeAllFaceUpCardsInvisible();
}
Run Code Online (Sandbox Code Playgroud)

我想先在这里暂停游戏两秒钟

concentration.flipAllCardsFaceDown();
Run Code Online (Sandbox Code Playgroud)

我将如何暂停它?

Ash*_*pta 8

您可以使用:

 Thread.sleep(2000);
Run Code Online (Sandbox Code Playgroud)

要么

java.util.concurrent.TimeUnit.SECONDS.sleep(2);
Run Code Online (Sandbox Code Playgroud)

请注意,这两个方法throw InterruptedException都是已检查的Exception,因此您必须捕获该异常或在方法中声明。

编辑:捕获异常后,您的代码将如下所示:

if (doAllFaceUpCardsMatch == false) {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        concentration.flipAllCardsFaceDown();
} else {
        concentration.makeAllFaceUpCardsInvisible();
}
Run Code Online (Sandbox Code Playgroud)

由于您是新手,所以我建议您一旦对Java有所了解,就学习如何进行异常处理。