7-3 时钟类-3(用对象作为构造方法的参数) 分数 25 作者 刘凤良 单位 天津仁爱学院 1) 定义一个时钟类MyClock,包含3个数据成员(即成员变量:时,分,秒);包含2个方法, 一个设置时间的方法setClock(),一个显示时间的方法display(),按照“ 12:28:45 ”的格式显示时间。 (2)添加一个用时钟对象作为参数的构造方法。 (3)在主程序类中定义两个时钟对象,输入一个时间,初始化时钟对象1,用clock1 作为参数初始化clock2,然后输出两个时钟的值。
时间: 2024-03-05 22:49:51 浏览: 124
关于时钟的一个类
以下是实现上述功能的代码:
```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 MyClock(MyClock clock) {
hour = clock.hour;
minute = clock.minute;
second = clock.second;
}
// 设置时间的方法
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,用clock1作为参数
MyClock clock2 = new MyClock(clock1);
clock2.setClock(hour, minute, second);
clock1.display();
clock2.display();
}
}
```
在上面的代码中,我们首先定义了一个`MyClock`类,该类包含了时、分、秒三个数据成员,并定义了一个设置时间的方法`setClock()`和一个显示时间的方法`display()`。在`display()`方法中,我们使用了`printf()`方法将时钟的值按照“12:28:45”的格式输出。
接下来,我们在`MyClock`类中添加了一个用时钟对象作为参数的构造方法,该构造方法将时、分、秒三个数据成员初始化为另一个时钟对象的值。
在`main()`方法中,我们首先创建了一个时钟对象`clock1`,并调用`display()`方法将其值输出。然后,我们通过`Scanner`类从用户输入中获取时、分、秒三个参数,并使用这些参数初始化了`clock2`的时、分、秒值。最后,我们用`clock1`作为参数初始化了`clock2`,并调用`display()`方法将两个时钟对象的值输出。
阅读全文