题目:
使用Timer类和TimerTask类每秒输出一次系统时间,每5秒输出一个提示信息,输出10次提示信息后程序结束。
提示:需要创建2个定时任务类,任务1类是每秒输出一次系统时间,任务2类是每5秒输出一个提示信息。使用1个Timer对象控制2个定时任务即可。由任务2类(不是任务1类)控制程序什么时候结束。
分析:
由于TimerTask类是线程类,所以我们需要重写里面的run()方法。
接着我们需要创建两个任务类分别实现不同的任务和方法
’
主程序:
mport java.util.Timer;
import java.util.TimerTask;
public class Exer3Test {
public static void main(String[] args) {
Timer myTimer=new Timer();
MyTimerTask1 myTimerTask1=new MyTimerTask1(myTimer);
MyTimerTask2 myTimerTask2=new MyTimerTask2(myTimer);
myTimer.schedule(myTimerTask1,1000,1000);
myTimer.schedule(myTimerTask2,6000,5000);
}
}
任务类1:
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask1 extends TimerTask{
private Timer MyTimer;
public MyTimerTask1(Timer myTimer) {
MyTimer = myTimer;
}
@Override
public void run() {
System.out.println("系统当前时间为:"+new Date());
}
}
任务类2:
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask2 extends TimerTask{
private Timer MyTimer;
private int time=0;
public MyTimerTask2(Timer myTimer) {
MyTimer = myTimer;
}
@Override
public void run() {
if(time==9) {
MyTimer.cancel();
}
System.out.println("第"+(++time)+"提示");
}
}