以下是一个简单的Java计时器程序,它从启动时开始计时,并可以显示经过的
格式化的时间。功能比较简单。。。。。。。。。。。
import java.util.Scanner;
public class Timer {
public static void main(String[] args) {
// 创建一个Scanner对象用于获取用户输入
Scanner scanner = new Scanner(System.in);
// 开始计时前的时间(初始为0)
long startTime = 0L;
// 提示用户输入要计时的秒数
System.out.print("请输入要计时的秒数:");
long duration = scanner.nextLong();
// 启动计时器前获取当前时间
startTime = System.currentTimeMillis();
// 睡眠指定的时间(秒)
try {
Thread.sleep(duration * 1000);
} catch (InterruptedException e) {
System.out.println("计时器被中断");
return;
}
// 计算经过的时间(毫秒)
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
// 格式化并输出结果
int seconds = (int) (elapsedTime / 1000) % 60;
int minutes = (int) ((elapsedTime / (1000 * 60)) % 60);
int hours = (int) ((elapsedTime / (1000 * 60 * 60)) % 24);
int days = (int) ((elapsedTime / (1000 * 60 * 60 * 24)) % 7);
int weeks = (int) (elapsedTime / (1000 * 60 * 60 * 24 * 7));
System.out.println(String.format("计时结束,经过了:%d周 %d天 %d小时 %d分钟 %d秒", weeks, days, hours, minutes, seconds));
}
}
该程序首先提示用户输入要计时的秒数,然后使用`Thread.sleep()`方法暂停当前线程,模拟计时过程。当线程被唤醒后,程序计算自开始计时以来经过的时间,并将其格式化为周、天、小时、分钟和秒数。最后将格式化后的时间输出到控制台。