public class Person
private final Date birthDate;
// others fields omitted
public boolean isBabyBoomer() {
Calendar gmtCal =
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
gmtCal.set(1946,Calendar.JANUARY,1,0,0,0);
Date boomStart =gmtCal.getTime();
gmtCal.set(1965,Calendar.JANUARY,1,0,0,0);
Date boomEnd = gmtCal.getTime();
return birthDate.compareTo(boomStart) >= 0 && //where is Birthdate instance
// to compare
birthDate.compareTo(boomEnd) < 0;
}
}
- , когда и каким образом программа получает BirthDate экземпляр?
- Опустили ли они процесс кодирования для этого экземпляра?
- С какой целью они сравнивали результаты с нулем (> = и <) внутри возврата?
- Не можем ли мы использовать простой возврат без использования целых чисел нулей (булево только для тестирования)?
В книге предполагается, что вы можете работать над этим самим, поэтому я предлагаю вам попробовать сделать именно это. Вы можете ответить на эти вопросы без дополнительной информации, здесь нет трюка. –
Более сложный вопрос: предлагает другую дату для 'boomStart' и скажут, почему это может быть лучше, чем с 1 января. –
спасибо peter, можем ли мы написать возвращение как возвращение birthDate.compareTo (boomStart) && birthDate.compareTo (boomEnd); не зная, как установить дату рождения, мне сложно проверить (скомпилировать). Любой поможет, написав полный код, чтобы получить дату рождения. Спасибо – karthick