2016-04-29 51 views
-3
package timerrr; 

import java.util.*; 

public class Timerrr { 

    public static void main(String[] args) { 

    Timer timer = new Timer(); 

    timer.schedule(
     new TimerTask() { 
      int i = 0; 

      @Override 
      public void run() { 

      System.out.println("timer is still running"); 
      } 
     }, 
     1 * 150 * 100, 
     1 * 50 * 100); 
    } 
} 
+0

[看看这个问题(http://stackoverflow.com/questions/24104313/how-to-delay-in-java)有关如何等待指定数量的在Java中秒。 –

+0

我已经为你解决了题目。 –

回答

1
在你重写run方法增量

我,如果我= 5取消计时器:

timer.schedule(new TimerTask() { 
    int i = 0; 

    @Override 
    public void run() { 
     i++; 
     if(i==5) { 
      this.cancel(); 
     } 
     else { 
      //YOUR CODE HERE 
     } 
    } 
}, startDelay, fixedDelay); 
0

这里应该是一个更简单的方法做你想要什么: 调用Thread.sleep();方法是,由于某种原因,我最喜欢的事情之一。你只需将其包围在一个try/catch块,像这样:

public static void main(String[] args) { 
 
    for (int i = 0; i <= 5; i++) { 
 
    System.out.println("timer is still running"); 
 
    try { 
 
     Thread.sleep(5000); 
 
    } catch (InterruptedException e) { 
 
     e.printStackTrace(); 
 
    } 
 
    } 
 
}

您可能希望把它它自己的方法与它自己的线程,这样就可以有其他的事情在发生这种情况时运行。

希望这有助于:)