详解java倒计时三种简单实现方式

详解java倒计时三种简单实现方式

方式一:使用Thread.sleep()实现倒计时

使用Thread.sleep()方法可以实现很简单的倒计时效果,该方法会使线程暂停指定时间再继续执行。具体实现步骤如下:

  1. 使用Scanner类获取用户输入的倒计时时间,以秒为单位。

java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒计时时间(单位:秒):");
int countDownTime = scanner.nextInt();

  1. 开始倒计时,在每个循环中暂停1秒。

java
while (countDownTime >= 0) {
System.out.println("距离倒计时结束还有:" + countDownTime + "秒");
Thread.sleep(1000); // 暂停1秒
countDownTime--;
}

示例说明:输入倒计时时间为10秒,终端界面每秒输出一条倒计时信息,直到倒计时结束。

方式二:使用Timer和TimerTask实现倒计时

Java中提供了Timer和TimerTask类,可以用于实现定时任务。下面我们就可以使用Timer和TimerTask实现倒计时。具体实现步骤如下:

  1. 使用Scanner类获取用户输入的倒计时时间,以秒为单位。

java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒计时时间(单位:秒):");
int countDownTime = scanner.nextInt();

  1. 创建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接口,可以用于实现线程的定时任务。下面我们就可以使用该接口实现倒计时。具体实现步骤如下:

  1. 使用Scanner类获取用户输入的倒计时时间,以秒为单位。

java
Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒计时时间(单位:秒):");
int countDownTime = scanner.nextInt();

  1. 创建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倒计时实现方式,可以根据具体情况选择适合自己的方式。

阅读剩余 52%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解java倒计时三种简单实现方式 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 消息队列-kafka消费异常问题

    消息队列-kafka消费异常问题主要包括以下几个方面: 消费者异常退出问题 重复消费问题 消费速度慢导致的积压现象 我们将针对以上问题逐一展开讲解,包括其原因和解决方法。 1. 消费者异常退出问题 消费者异常退出问题,主要发生在程序崩溃或机器宕机等情况下。这种情况下,消息队列的消费进度会被打回,并且消息会重新消费一遍,导致重复消费问题。 解决这个问题的方法是…

    Java 2023年5月20日
    00
  • Java中的异常处理(try,catch,finally,throw,throws)

    Java中的异常处理(try, catch, finally, throw, throws) Java中的异常处理是处理异常情况的一种机制,它提供了一种结构化的方式来处理异常状况,从而使代码更加健壮、可维护和安全。Java中的异常处理主要使用以下5个关键字: try: 尝试执行一段可能会产生异常的代码。 catch: 处理捕获到的异常。 finally: 不…

    Java 2023年5月27日
    00
  • Java如何正确的使用wait-notify方法你知道吗

    当多个线程可以共同访问同一资源时,为避免出现竞态条件,Java 提供了 wait-notify 方法。wait-notify 是 Object 类的两个方法,需要在同步代码块内被调用。wait 方法会使调用线程阻塞,直到另一个线程调用 notify 或 notifyAll 方法唤醒该线程。在该过程中,线程会释放锁。notify 方法则会随机唤醒等待中的一个线…

    Java 2023年5月26日
    00
  • 教你开发脚手架集成Spring Boot Actuator监控的详细过程

    我会为您详细讲解开发脚手架集成Spring Boot Actuator监控的详细过程。 1. 什么是脚手架 脚手架(Scaffolding)是一种生成框架或代码骨架的工具,目的是让开发人员可以从简单的模板开始,集中精力编写业务逻辑和特定应用场景的代码。通过脚手架开发,可以极大地提高开发效率,并且在团队协作开发中更加便捷。 2. 为什么要集成Spring Bo…

    Java 2023年5月20日
    00
  • Java Thread 类和Runnable 接口详解

    Java Thread 类和 Runnable 接口详解 概述 Java 中的线程是并发编程的核心内容,可以同时执行多个任务。Java 提供了两种线程的方式:继承Thread类和实现Runnable接口。 Thread 类 Thread类是Java中的一个顶级类,使用它可以快速地创建并发程序。Java 程序中的 main() 方法也是一个线程,使用Threa…

    Java 2023年5月19日
    00
  • Java详细分析连接数据库的流程

    下面我将详细讲解Java连接数据库的流程,包括以下几个部分: 导入数据库驱动 建立数据库连接 创建执行SQL语句的对象 执行SQL语句 处理结果集 关闭连接 接下来我们逐个步骤进行说明,同时提供两个代码示例: 1. 导入数据库驱动 在Java中连接数据库需要使用相应的数据库驱动,不同的数据库对应不同的驱动。例如,连接MySQL数据库需要使用mysql-con…

    Java 2023年5月19日
    00
  • 用js屏蔽被http劫持的浮动广告实现方法

    要屏蔽被 HTTP 劫持的浮动广告,可以通过以下步骤实现: 步骤一:获取浮动广告元素 首先需要获取浮动广告元素的选择器。在浏览器中打开被劫持的网站,并打开浏览器的开发者工具。在 Elements 面板中,选择被劫持的广告元素,在该元素上右键单击,选择 Copy ▸ Copy selector(复制元素的选择器)。这样就可以获得该广告元素的选择器。例如: #a…

    Java 2023年6月16日
    00
  • servlet和tomcat_动力节点Java学院整理

    Servlet和Tomcat 前言 在 Java 编程中,Servlet 是一个底层的基础模块。它负责处理来自 Web 服务请求并返回响应。Tomcat 是一个 Servlet 容器,也就是说,它可以部署和运行 Servlet 应用程序。因此,学习 Servlet 和 Tomcat 是Web开发的第一步。 本文将详细讲解 Servlet 和 Tomcat 的…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部