設計一個時鐘類 Clock,包含:
int 型別成員變數:hour、minute、secondshow() 方法顯示時間,並驗證合法性 (時 0-23、分/秒 0-59)public class Clock {
private int hour; // 封裝:私有欄位
private int minute;
private int second;
// 建構子初始化
public Clock(int hour, int minute, int second) {
this.hour = hour;
this.minute = minute;
this.second = second;
}
// 顯示時間並驗證
public void show() {
if (isValidTime()) {
System.out.printf("現在時刻 %02d時 %02d分 %02d秒。%n", hour, minute, second);
} else {
System.out.println("你輸入的時間有誤,請重新輸入!");
}
}
// 驗證邏輯獨立封裝
private boolean isValidTime() {
return hour >= 0 && hour < 24
&& minute >= 0 && minute < 60
&& second >= 0 && second < 60;
}
// Getter/Setter (擴充用)
public int getHour() { return hour; }
public void setHour(int hour) { this.hour = hour; }
// ... minute, second 同理
}
public class TestClock {
public static void main(String[] args) {
// 正常時間
Clock c1 = new Clock(3, 34, 18);
Clock c2 = new Clock(23, 34, 18);
Clock c6 = new Clock(0, 0, 0);
// 邊界錯誤時間
Clock c3 = new Clock(25, 15, 55); // 時 > 23
Clock c4 = new Clock(23, 64, 28); // 分 > 59
Clock c5 = new Clock(23, 54, 78); // 秒 > 59
// 批次測試
Clock[] clocks = {c1, c2, c3, c4, c5, c6};
for (Clock c : clocks) {
c.show();
}
}
}
現在時刻 03時 34分 18秒。 現在時刻 23時 34分 18秒。 你輸入的時間有誤,請重新輸入! 你輸入的時間有誤,請重新輸入! 你輸入的時間有誤,請重新輸入! 現在時刻 00時 00分 00秒。

private,透過建構子/方法存取this.hour = hour)printf / String.format 統一格式 (%02d 補零)throw new IllegalArgumentException("Invalid time")java.time.LocalTime 替代手工實作 (Java 8+)tick() 方法模擬秒針走動Comparable<Clock> 支援時間比較排序toString()、equals()、hashCode()