(时间类Time)设计一个名为Time的类。这个类包含: 表示时间的数据域hour、minute和 second。 1.一个以当前时间创建Timc对象的无参构造方法(数据域的值表示当前时间)。 2.一个构造Time对象的构造方法,这个对象有一个特定的时间值,这个值是以毫秒表示 的、从1970年1月│日午夜开始到现在流逝的时间段(数据域的值表示这个时间)。一个构造带特定的小时、分钟和秒的Time对象的构造方法。 3.三个数据域hour、minute和 second各自的get方法。 4.一个名为setTime(ong elapseTime)的方法,使用流逝的时间给对象设置一个新时间。 例 如,如果流逝的时间为555550000 毫秒,则转换为10小时、10分钟、10秒。 实现这个类。编写一个测试程序,创建两个Time对象(使用newTime()和newTime(555550000)),然后显示它们的小时、分钟和秒 。 提示:前两个构造方法可以从流逝的时间中提取出小时、分钟和秒。对于无参构造方法,当前时间可以使用System.currentTimeMills()获取当前时间。
时间: 2024-03-19 11:44:44 浏览: 203
下面是一个符合要求的Java代码实现:
```
public class Time {
private int hour;
private int minute;
private int second;
public Time() {
long milliseconds = System.currentTimeMillis();
setTime(milliseconds);
}
public Time(long milliseconds) {
setTime(milliseconds);
}
public Time(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
public int getHour() {
return hour;
}
public int getMinute() {
return minute;
}
public int getSecond() {
return second;
}
public void setTime(long elapseTime) {
long totalSeconds = elapseTime / 1000;
second = (int)(totalSeconds % 60);
long totalMinutes = totalSeconds / 60;
minute = (int)(totalMinutes % 60);
long totalHours = totalMinutes / 60;
hour = (int)(totalHours % 24);
}
public static void main(String[] args) {
Time time1 = new Time();
Time time2 = new Time(555550000);
System.out.println("Time 1: " + time1.getHour() + ":" + time1.getMinute() + ":" + time1.getSecond());
System.out.println("Time 2: " + time2.getHour() + ":" + time2.getMinute() + ":" + time2.getSecond());
}
}
```
这个Time类包含了三个数据域hour、minute和second,以及符合要求的构造方法、get方法和setTime方法。在main方法中,我们创建了两个Time对象time1和time2,并且输出它们的小时、分钟和秒。当我们运行这个程序时,它将输出类似以下的结果:
```
Time 1: 8:23:56
Time 2: 10:19:10
```
这个结果表示,time1是以当前时间创建的Time对象,而time2是以555550000毫秒表示的时间创建的Time对象。
阅读全文