详解java倒计时三种简单实现方式
方式一:使用Thread.sleep()实现倒计时
使用Thread.sleep()方法可以实现很简单的倒计时效果,该方法会使线程暂停指定时间再继续执行。具体实现步骤如下:
- 使用Scanner类获取用户输入的倒计时时间,以秒为单位。
java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒计时时间(单位:秒):");
int countDownTime = scanner.nextInt();
- 开始倒计时,在每个循环中暂停1秒。
java
while (countDownTime >= 0) {
System.out.println("距离倒计时结束还有:" + countDownTime + "秒");
Thread.sleep(1000); // 暂停1秒
countDownTime--;
}
示例说明:输入倒计时时间为10秒,终端界面每秒输出一条倒计时信息,直到倒计时结束。
方式二:使用Timer和TimerTask实现倒计时
Java中提供了Timer和TimerTask类,可以用于实现定时任务。下面我们就可以使用Timer和TimerTask实现倒计时。具体实现步骤如下:
- 使用Scanner类获取用户输入的倒计时时间,以秒为单位。
java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒计时时间(单位:秒):");
int countDownTime = scanner.nextInt();
- 创建Timer对象,并使用TimerTask对象重复执行任务。
java
Timer timer = new Timer();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
System.out.println("距离倒计时结束还有:" + countDownTime + "秒");
if (countDownTime == 0) {
timer.cancel();
}
countDownTime--;
}
};
timer.schedule(timerTask, 0, 1000); // 每隔1秒重复执行一次任务
示例说明:输入倒计时时间为10秒,终端界面每秒输出一条倒计时信息,直到倒计时结束。
方式三:使用ScheduledExecutorService实现倒计时
Java中提供了ScheduledExecutorService接口,可以用于实现线程的定时任务。下面我们就可以使用该接口实现倒计时。具体实现步骤如下:
- 使用Scanner类获取用户输入的倒计时时间,以秒为单位。
java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒计时时间(单位:秒):");
int countDownTime = scanner.nextInt();
- 创建ScheduledExecutorService对象,并使用ScheduledFuture对象重复执行任务。
java
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
ScheduledFuture scheduledFuture = scheduledExecutorService.scheduleAtFixedRate(() -> {
System.out.println("距离倒计时结束还有:" + countDownTime + "秒");
if (countDownTime == 0) {
scheduledExecutorService.shutdown();
}
countDownTime--;
}, 0, 1, TimeUnit.SECONDS); // 每隔1秒重复执行一次任务
示例说明:输入倒计时时间为10秒,终端界面每秒输出一条倒计时信息,直到倒计时结束。
以上就是三种简单的Java倒计时实现方式,可以根据具体情况选择适合自己的方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解java倒计时三种简单实现方式 - Python技术站