7-2 时钟类-2(自定义重载的构造方法) 分数 25 作者 刘凤良 单位 天津仁爱学院 (1)定义一个时钟类MyClock,包含3个数据成员(即成员变量:时,分,秒);包含2个方法, 一个设置时间的方法setClock(),一个显示时间的方法display(),按照“ 12:28:45 ”的格式显示时间。 (2) 在(1)的基础上,添加一个不带参数的构造方法,给数据成员置0;一个带参数的构造方法,通过三个参数(时 分 秒)给时钟初始化; 在主程序类中定义两个时钟对象,输入一个时间,初始化时钟对象2,然后输出两个时钟的值。
时间: 2024-03-05 19:49:46 浏览: 170
以下是实现上述功能的代码:
```java
public class MyClock {
private int hour;
private int minute;
private int second;
// 不带参数的构造方法,初始化为0
public MyClock() {
hour = 0;
minute = 0;
second = 0;
}
// 带参数的构造方法,通过三个参数初始化时钟
public MyClock(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
// 设置时间的方法
public void setClock(int h, int m, int s) {
hour = h;
minute = m;
second = s;
}
// 显示时间的方法
public void display() {
System.out.printf("%02d:%02d:%02d\n", hour, minute, second);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 初始化时钟对象1
MyClock clock1 = new MyClock();
clock1.display();
System.out.print("请输入时间(时 分 秒):");
int hour = scanner.nextInt();
int minute = scanner.nextInt();
int second = scanner.nextInt();
// 初始化时钟对象2
MyClock clock2 = new MyClock(hour, minute, second);
clock2.display();
}
}
```
在上面的代码中,我们首先定义了一个`MyClock`类,该类包含了时、分、秒三个数据成员,并定义了一个设置时间的方法`setClock()`和一个显示时间的方法`display()`。在`display()`方法中,我们使用了`printf()`方法将时钟的值按照“12:28:45”的格式输出。
接下来,我们在`MyClock`类中添加了一个不带参数的构造方法,该构造方法将时、分、秒三个数据成员初始化为0。同时,我们还添加了一个带参数的构造方法,该构造方法通过三个参数初始化时钟对象。
在`main()`方法中,我们首先创建了一个时钟对象`clock1`,并调用`display()`方法将其值输出。然后,我们通过`Scanner`类从用户输入中获取时、分、秒三个参数,并使用这些参数初始化了另一个时钟对象`clock2`。最后,我们再次调用`display()`方法将`clock2`的值输出。
阅读全文