Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建一个倒计时_Java_Timer_Countdown - Fatal编程技术网

Java 如何创建一个倒计时

Java 如何创建一个倒计时,java,timer,countdown,Java,Timer,Countdown,我正在用Java&Netbeans IDE制作一个软件,我想添加的一个功能是一个计时器,可以给它一个特定的时间1小时,然后让它向后运行,直到它运行到00:00:00,在那里它将执行特定的操作 我试图利用我的知识在程序中添加时钟,但没有成功。请帮助我将启动一个新线程,在那里它等待100毫秒Thread.sleep1000,然后从小时*60/或分钟/*60/*或秒*1000中减去它。如果结果==0,则您已点击该时间。您可以尝试以下操作: import java.util.Timer; import

我正在用Java&Netbeans IDE制作一个软件,我想添加的一个功能是一个计时器,可以给它一个特定的时间1小时,然后让它向后运行,直到它运行到00:00:00,在那里它将执行特定的操作


我试图利用我的知识在程序中添加时钟,但没有成功。请帮助

我将启动一个新线程,在那里它等待100毫秒Thread.sleep1000,然后从小时*60/或分钟/*60/*或秒*1000中减去它。如果结果==0,则您已点击该时间。

您可以尝试以下操作:

import java.util.Timer;
import java.util.TimerTask;

public class CountDown {    
     Timer timer;
     public CountDown() {
        timer = new Timer();
        timer.schedule(new DisplayCountdown(), 0, 1000);
    }
    class DisplayCountdown extends TimerTask {

          int seconds = 60;
          public void run() {
               if (seconds > 0) {
                  System.out.println(seconds + " seconds remaining");
                  seconds--;
               } else {

                  System.out.println("Countdown finished");
                  System.exit(0);
              }    
        }
   }     
   public static void main(String args[]) {

      System.out.println("Countdown Beginning");    
      new CountDown();    
   }    
}

阅读更多信息:

是否需要连续显示倒计时?如果是,请查看以下内容:

如果没有,只需使用javax.Swing.Timer并将其设置为不重复和3600*1000毫秒


编辑:如果您没有使用Swing,那么可能java.util.Timer

OP没有说他是否在使用Swing,非常感谢您。快速提问:我如何将秒转换为分钟,并显示剩余的分和秒???我试过了,但它没有持续运行。它只是将我给出的秒数转换为hh:mm:ss,而不是按照秒数连续打印。抱歉,我花了时间回复。我必须尽我所知的一切可能使用这些代码。