public class Time implements java.io.Serializable { private int second, minute, hour; public Time(int s, int m, int h) { second = s; minute = m; hour = h; } public Time() { } public void setSecond(int s) { if (s >= 0 && s < 60) second = s; else System.out.println("Invalid seconds value, not set"); } public void setMinute(int m) { if (m >= 0 && m < 60) minute = m; else System.out.println("Invalid minutes value, not set"); } public void setHour(int h) { if (h >= 0 && h < 24) hour = h; else System.out.println("Invalid hours value, not set"); } public void setTime(int s, int m, int h) { setSecond(s); setMinute(m); setHour(h); } public void tick() { second++; if (second == 60) { second = 0; minute++; if (minute == 60) { minute = 0; hour++; if (hour == 24) hour = 0; } } } public int getSecond() { return second; } public int getMinute() { return minute; } public int getHour() { return hour; } public String toString() { return hour + ":" + minute + ":" + second; } public boolean equals(Time compareMe) { if (second == compareMe.second && minute == compareMe.minute && hour == compareMe.hour) return true; else return false; } public boolean withinAnHour(Time compareMe) { if ((hour == compareMe.hour - 1 && minute >= compareMe.minute) || (hour == compareMe.hour && minute <= compareMe.minute)) return true; else return false; } }