Класс с именем Время содержит метод isEarlier(Time): boolean
, который возвращает true
, если Время раньше, чем объект Время , переданный в качестве аргумента. в противном случае возвращается false
.
Второй класс с именем Date содержит аналогичный метод isEarlier(Date): boolean
, который возвращает true
, если Date раньше, чем объект Date , переданный как аргумент, в противном случае он возвращает false
.
Третий класс с именем Задача имеет два поля данных Date date
и Time time
. Этот класс также содержит метод с именем isEarlier(Task): boolean
, который возвращает true
, если Task запланирован раньше, чем Task , переданный в качестве аргумента. Как этот метод может определить, является ли задача более ранней, используя только методы isEalier()
из Time и Date object ?
Я не думаю, что это даже возможно, если не знать, совпадают ли даты, что невозможно, потому что метод isEarlier()
возвращает только true
или false
. Я прав?
Это скорее вопрос логики, чем вопрос, связанный с конкретным языком.
public boolean isEarlier(Task argTask) {
if (date.isEarlier(argTask.date)) {
return true; // date is earlier
} else if ("Is this possible without equality comparison here?")
// date is the same, so we must also check the time
return time.isEarlier(argTask.time);
} else {
return false; // date is later
}
}