package com.company;
public class TimeSpan {
private int hours;
private int minutes;
public TimeSpan(int hours, int minutes) {
// minutes < 60
if (minutes > 60) {
throw new IllegalArgumentException("minutes need should be less 60");
}
this.hours = hours;
this.minutes = minutes;
}
public void add(TimeSpan timeSpan) {
hours = hours + timeSpan.hours + (timeSpan.minutes + minutes) / 60;
minutes = (timeSpan.minutes + minutes) % 60;
}
public void sub(TimeSpan timeSpan) {
if (timeSpan.hours > hours || timeSpan.hours == hours && timeSpan.minutes > minutes) {
throw new IllegalArgumentException("diminished must be greater than deductible");
} else {
hours = hours - timeSpan.hours + (timeSpan.minutes + minutes) / 60;
minutes = (minutes - timeSpan.minutes) % 60;
}
if (minutes < 0) {
minutes += 60;
hours--;
}
}
public void mult(double times) {
minutes += hours * 60;
minutes *= times;
hours = minutes / 60;
minutes %= 60;
}
@Override
public String toString() {
return "TimeSpan{" +
"hours=" + hours +
", minutes=" + minutes +
'}';
}
}