繁体   English   中英

Timer和TimerTask Java

[英]Timer and TimerTask Java

我希望我的程序打印“ Hello User”,十秒钟后打印“十秒钟消失了”,最后几秒钟后,打印“ 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();
        }


    }
}

尝试这个 :

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:

第一次打印:Hello User 10秒后打印:十秒过去了。 13秒后:Goodby用户

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM