首页 > 解决方案 > java - 如何在java中的for循环中进行延迟?

问题描述

我正在尝试在 Java (BlueJ) 中的 for 循环中添加暂停。当我使用时Thread.sleep(1000),我最终得到一个异常:“必须捕获或声明抛出未报告的异常 java.lang.InterruptedException”

导致异常的代码可能有什么问题:

public class R {

  private boolean a;
  private boolean b;

  if(a && b) {
     String[]Array = {"x","y","z"};
     for(int i = 0; i < Array.length; i++, Thread.sleep(1000))
     {
       System.out.print(Array[i]);
     }
  }
}

我希望最终结果如下:

x

//delay

y

//delay

z

标签: javaarraysfor-loopdelaybluej

解决方案


您需要将 Thread.sleep(1000) 代码放入循环中,如下所示:

for(int i = 0; i < Array.length; i++){
   System.out.print(Array[i]);
   Thread.sleep(1000); // if you prefer, you could put before the System.out...
}

而且我建议你用InterruptedException异常处理封装Thread.sleep(1000)。

以下是一些如何做到这一点的示例。 Java 延迟/等待


推荐阅读