2

私はJavaで学校のプロジェクトに取り組んでおり、タイマーを作成する方法を理解する必要があります. 私が構築しようとしているタイマーは、60 秒からカウントダウンすることになっています。

4

5 に答える 5

2

以下を使用できます。

 int i = 60;
 while (i>0){
  System.out.println("Remaining: "i+" seconds");
  try {
    i--;
    Thread.sleep(1000L);    // 1000L = 1000ms = 1 second
   }
   catch (InterruptedException e) {
       //I don't think you need to do anything for your particular problem
   }
 }

またはそのようなもの

編集、私はこれが最良の選択肢ではないことを知っています。それ以外の場合は、新しいクラスを作成する必要があります。

これを行う正しい方法:

public class MyTimer implements java.lang.Runnable{

    @Override
    public void run() {
        this.runTimer();
    }

    public void runTimer(){
        int i = 60;
         while (i>0){
          System.out.println("Remaining: "+i+" seconds");
          try {
            i--;
            Thread.sleep(1000L);    // 1000L = 1000ms = 1 second
           }
           catch (InterruptedException e) {
               //I don't think you need to do anything for your particular problem
           }
         }
    }

}

次に、コードで次のようにします。 Thread thread = new Thread(MyTimer);

于 2012-09-17T18:34:42.413 に答える
1

Timer 、ActionListenerThreadを調べます

于 2012-09-17T18:37:18.950 に答える
0

これを行うには多くの方法があります。スリープ機能の使用を検討し、各反復の間に1秒間スリープさせ、残りの秒数を表示します。

于 2012-09-17T18:32:57.093 に答える
0

詳細を提供しなかったため、完全に正確である必要がない場合は、これで機能します。

for (int seconds=60 ; seconds-- ; seconds >= 0)
{
    System.out.println(seconds);
    Thread.sleep(1000);
}
于 2012-09-17T18:34:18.033 に答える
0

Javaでカウントダウンするのは簡単です。10分カウントダウンしたいので、これを試してみましょう。

            int second=60,minute=10;
            int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
      second--;
      // put second and minute where you want, or print..
      if (second<0) {
          second=59;
          minute--; // countdown one minute.
          if (minute<0) {
              minute=9;
          }
      }
  }
};
new Timer(delay, taskPerformer).start();
于 2014-07-14T12:21:53.157 に答える