实现数字时钟 - Java

实现数字时钟 - Java

以下是使用Java编写的数字时钟的详细代码:

import java.util.Calendar;

public class DigitalClock {
    public static void main(String[] args) {
        while (true) {
            // 获取当前时间
            Calendar calendar = Calendar.getInstance();
            int hour = calendar.get(Calendar.HOUR_OF_DAY);
            int minute = calendar.get(Calendar.MINUTE);
            int second = calendar.get(Calendar.SECOND);

            // 格式化时间
            String time = String.format("%02d:%02d:%02d", hour, minute, second);

            // 清空控制台
            clearConsole();

            // 打印时间
            System.out.println(time);

            try {
                // 暂停1秒
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    // 清空控制台的方法
    public static void clearConsole() {
        try {
            if (System.getProperty("os.name").contains("Windows")) {
                new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
            } else {
                System.out.print("\033[H\033[2J");
                System.out.flush();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上述代码实现了一个简单的数字时钟。它使用了Java的Calendar类来获取当前时间,并使用String类的format()方法将时间格式化为"HH:MM:SS"的形式。然后,使用clearConsole()方法清空控制台,并在每秒钟更新一次时间。

clearConsole()方法用于清空控制台。在Windows系统中,它使用ProcessBuilder类来执行命令行命令"cmd /c cls"来清空控制台。在其他系统中,它使用ANSI转义序列"\033[H\033[2J"来实现清空控制台的效果。

在主函数中,使用一个无限循环来不断更新时间并打印到控制台。每次循环开始时,获取当前时间并格式化为字符串。然后调用clearConsole()方法清空控制台,并打印时间。之后,通过Thread.sleep()方法暂停1秒钟,再进行下一次循环。

通过运行上述代码,您将在控制台上看到一个实时更新的数字时钟。请注意,这个时钟会一直运行,直到您手动停止程序的执行。

希望这可以帮助到您!如有任何疑问,请随时提问。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值