@@ -25,6 +25,30 @@ public Time(int hour, int minute, double second) {
25
25
this .second = second ;
26
26
}
27
27
28
+ public int getHour () {
29
+ return this .hour ;
30
+ }
31
+
32
+ public int getMinute () {
33
+ return this .minute ;
34
+ }
35
+
36
+ public double getSecond () {
37
+ return this .second ;
38
+ }
39
+
40
+ public void setHour (int hour ) {
41
+ this .hour = hour ;
42
+ }
43
+
44
+ public void setMinute (int minute ) {
45
+ this .minute = minute ;
46
+ }
47
+
48
+ public void setSecond (double second ) {
49
+ this .second = second ;
50
+ }
51
+
28
52
/**
29
53
* Prints the time in a simple format.
30
54
*/
@@ -48,9 +72,10 @@ public String toString() {
48
72
* Tests whether two times are equivalent.
49
73
*/
50
74
public boolean equals (Time that ) {
75
+ final double DELTA = 0.001 ;
51
76
return this .hour == that .hour
52
77
&& this .minute == that .minute
53
- && this .second == that .second ;
78
+ && Math . abs ( this .second - that .second ) < DELTA ;
54
79
}
55
80
56
81
/**
@@ -72,6 +97,7 @@ public Time add(Time t2) {
72
97
sum .hour = this .hour + t2 .hour ;
73
98
sum .minute = this .minute + t2 .minute ;
74
99
sum .second = this .second + t2 .second ;
100
+
75
101
if (sum .second >= 60.0 ) {
76
102
sum .second -= 60.0 ;
77
103
sum .minute += 1 ;
@@ -80,22 +106,10 @@ public Time add(Time t2) {
80
106
sum .minute -= 60 ;
81
107
sum .hour += 1 ;
82
108
}
83
- return sum ;
84
- }
85
-
86
- /**
87
- * Adds the given number of seconds to this object (modifier).
88
- */
89
- public void increment (double seconds ) {
90
- this .second += seconds ;
91
- while (this .second >= 60.0 ) {
92
- this .second -= 60.0 ;
93
- this .minute += 1 ;
94
- }
95
- while (this .minute >= 60 ) {
96
- this .minute -= 60 ;
97
- this .hour += 1 ;
109
+ if (sum .hour >= 24 ) {
110
+ sum .hour -= 24 ;
98
111
}
112
+ return sum ;
99
113
}
100
114
101
115
}
0 commit comments