设计一个名为 Time 的类。这个类包含: • 表示时间的数据域 hour、minute 和 second。 • 一个以当前时间创建 Time 对象的无参构造方法(数据域的值表示当前时间)。 • 一个构造 Time 对象的构造方法,这个对象有一个特定的时间值,这个值是以毫秒表示的、从 1970 年 1 月丨日午夜开始到现在流逝的时间段(数据域的值表示这个时间)。 • 三个数据域 hour、minute 和 second各自的 get 方法。 • — 个名为 setTimeClong elapseTime)的方法使用流逝的时间给对象设置一个新时间。例 如,如果流逝的时间为 555550000毫秒,則转换为10小时、10分钟、10 秒。 编写一个测试程序,通过键盘输入想要转换的毫秒数,调用有参构造方法生成, 然后显示它们的小时、分钟和秒。 测试范例如下: 输入:66666666 输出:18:31:6
时间: 2024-03-23 21:43:36 浏览: 97
好的,这是一个关于Java的问题,我会尽力回答你。下面是代码实现:
```java
import java.util.Scanner;
public class Time {
private int hour, minute, second;
// 以当前时间创建 Time 对象的无参构造方法
public Time() {
long millis = System.currentTimeMillis();
setTime(millis);
}
// 构造 Time 对象的构造方法,这个对象有一个特定的时间值,这个值是以毫秒表示的、从 1970 年 1 月1日午夜开始到现在流逝的时间段
public Time(long millis) {
setTime(millis);
}
// 设置时间的方法
public void setTime(long elapsedMillis) {
long totalSeconds = elapsedMillis / 1000;
second = (int)(totalSeconds % 60);
long totalMinutes = totalSeconds / 60;
minute = (int)(totalMinutes % 60);
long totalHours = totalMinutes / 60;
hour = (int)(totalHours % 24);
}
// 获取 hour 的方法
public int getHour() {
return hour;
}
// 获取 minute 的方法
public int getMinute() {
return minute;
}
// 获取 second 的方法
public int getSecond() {
return second;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入毫秒数: ");
long millis = input.nextLong();
Time time = new Time(millis);
System.out.printf("%d:%d:%d", time.getHour(), time.getMinute(), time.getSecond());
}
}
```
你可以按照上面的代码实现并运行测试程序,输入66666666,程序会输出18:31:6。希望能够帮到你!
阅读全文
相关推荐


















