计时器和计时器任务Java
我希望我的程序打印Hello用户,十秒钟后打印十秒钟已经过去,最后,几秒钟后打印再见用户。我只是不知道该怎么做。谢谢 代码如下:计时器和计时器任务Java,java,timer,timertask,Java,Timer,Timertask,我希望我的程序打印Hello用户,十秒钟后打印十秒钟已经过去,最后,几秒钟后打印再见用户。我只是不知道该怎么做。谢谢 代码如下: 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();
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);
}
}
类任务扩展TimerTask{
int i=1;
@凌驾
公开募捐{
i++;
System.out.println(“你好用户”);
如果(i试试这个:
class Task extends TimerTask {
int i=0;
@Override
public void run() {
i++;
if(i==1)
System.out.println("Hello User");
if(i==10){
System.out.println("Ten Seconds Have Gone By");
}
if(i==13){
System.out.println("Goodbye User");
cancel();
}
}
}
o/p:
第一次打印:你好,用户
10秒后打印:10秒过去了。
13秒后:Goodby User您使用的计时器正常,我们只需应用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();
}
}
}
是“你好用户”应该每秒打印还是只在第一次打印?@SeeTheC only first我不喜欢使用Thread.sleep,因为我将把它放在我的项目的另一个使用循环的部分。这可能会导致故障问题。你有什么其他建议。另外,谢谢你的回答。这可以用于countdonws吗?是的,你可以使用我T
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();
}
}
}