簡體   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