6.定义一个“时间”类,含有“小时”“分钟”“秒钟”3个成员变量,含有以下成员函数 (1)输入时、分、秒数据,所输入的数据要符合相应范围。 (2)用“时:分:秒”的形式打印时间。 (3)计算该时间和另一个时间相差的秒数。在ecilpse中运行Java,其代码是
时间: 2024-10-23 19:13:02 浏览: 18
c++程序设计谭浩强课后习题答案借鉴.pdf
在 Eclipse 中创建一个名为 "Time" 的 Java 类,包含 "小时"、"分钟" 和 "秒" 三个成员变量,以及对应的功能函数,可以按照以下步骤编写:
```java
import java.util.Scanner;
public class Time {
private int hours;
private int minutes;
private int seconds;
// 构造函数,用于初始化时间
public Time(int hours, int minutes, int seconds) {
if (hours >= 0 && hours <= 23 && minutes >= 0 && minutes <= 59 && seconds >= 0 && seconds <= 59) {
this.hours = hours;
this.minutes = minutes;
this.seconds = seconds;
} else {
throw new IllegalArgumentException("Invalid time value");
}
}
// 输入时间和检查范围的私有方法
private void inputTime() {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter hours (0-23): ");
this.hours = scanner.nextInt();
System.out.println("Enter minutes (0-59): ");
this.minutes = scanner.nextInt();
System.out.println("Enter seconds (0-59): ");
this.seconds = scanner.nextInt();
scanner.close();
}
// 打印时间的方法
public void displayTime() {
System.out.printf("%d:%02d:%02d", hours, minutes, seconds);
}
// 计算两个时间差的秒数
public long calculateSecondsDifference(Time anotherTime) {
return Math.abs(this.hours * 3600 + this.minutes * 60 + this.seconds -
(anotherTime.getHours() * 3600 + anotherTime.getMinutes() * 60 + anotherTime.getSeconds()));
}
public static void main(String[] args) {
Time currentTime = new Time(0, 0, 0); // 示例当前时间
currentTime.inputTime(); // 输入用户时间
currentTime.displayTime();
Time otherTime = new Time(2, 30, 45); // 示例另一个时间
otherTime.inputTime();
otherTime.displayTime();
long differenceInSeconds = currentTime.calculateSecondsDifference(otherTime);
System.out.println("Time difference in seconds: " + differenceInSeconds);
}
}
```
在这个代码中,`Time` 类包含了构造函数、输入方法 `inputTime()`、显示时间的方法 `displayTime()` 和计算时间差的方法 `calculateSecondsDifference()`。在 `main` 函数中展示了如何使用这个类。
阅读全文