我希望我的程序打印Hello User,十秒后打印Ten Seconds Have Gone By,最后几秒后打印Goodbye User。我只是不知道从什么或如何开始做到这一点。谢谢
代码如下:
import java.util.Timer;
import java.util.TimerTask;
public class S1p4 {
public static void main(String[] args) {
Timer timer = new Timer();
Task task = new Task();
timer.schedule(task, 1000, 1000);
}
}
class Task extends TimerTask {
int i=1;
@Override
public void run() {
i++;
System.out.println("Hello User");
if(i<=10){
System.out.println("Ten Seconds Have Gone By");
}
System.out.println("Goodbye User");
cancel();
System.exit(0);
}
}
编辑1:如果我取出System.exit();,它会运行良好,但是我会用什么替换它?因为我不想要一个必须停止的程序。
最佳答案
您使用的计时器没问题,我们只需应用 Thread.sleep 即可解决您的问题。
class Task extends TimerTask {
@Override
public void run() {
System.out.println("Hello User");
try {
Thread.sleep(10000);
System.out.println("Ten Seconds Have Gone By");
Thread.sleep(5000);
System.out.println("Goodbye User");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
关于java - Java 定时器和 TimerTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039949/