【发布时间】:2020-02-15 19:27:02
【问题描述】:
我正在尝试在 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
【问题讨论】:
-
为什么你的班级里直接有代码块?如果没有,用函数写。我建议你捕捉异常。如果您不了解它们,请阅读here
-
这无法编译..
-
您的代码在线程中执行。如果你用
sleep暂停它,其他人可能会在此期间中断它——这就是这个方法抛出异常的原因。将您对Thread.sleep的呼叫封装在try-catch-block 中。 -
谁甚至赞成这个?点赞按钮显示“这个问题展示了研究成果,它有用且清晰。”
标签: java arrays for-loop delay bluej