53 lines
1.2 KiB
Java
53 lines
1.2 KiB
Java
package aula11.ex4;
|
|
|
|
public class Time {
|
|
private int hour;
|
|
private int minute;
|
|
|
|
public Time(int hour, int minute) {
|
|
if (hour < 0 || hour > 23 || minute < 0 || minute > 59)
|
|
throw new IllegalArgumentException("Invalid time");
|
|
this.hour = hour;
|
|
this.minute = minute;
|
|
}
|
|
|
|
public static int timeToMinsInt(Time time) {
|
|
return time.hour() * 60 + time.minute();
|
|
}
|
|
|
|
public static Time minsIntToTime(int mins) {
|
|
return new Time(mins / 60, mins % 60);
|
|
}
|
|
|
|
public Time addTime(Time time) {
|
|
int newHour = hour + time.hour();
|
|
int newMinute = minute + time.minute();
|
|
if (newMinute >= 60) {
|
|
newHour++;
|
|
newMinute -= 60;
|
|
}
|
|
if (newHour >= 24)
|
|
newHour -= 24;
|
|
this.hour = newHour;
|
|
this.minute = newMinute;
|
|
return new Time(newHour, newMinute);
|
|
}
|
|
|
|
public boolean isZero() {
|
|
return hour == 0 && minute == 0;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return String.format("%02d:%02d", hour, minute);
|
|
}
|
|
|
|
public int hour() {
|
|
return hour;
|
|
}
|
|
|
|
public int minute() {
|
|
return minute;
|
|
}
|
|
}
|