Если я использую:Можете ли вы использовать переменные при вызове GergorianCalendar.isLeapYear()?
GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance();
boolean yearIsLeapYear = cal.isLeapYear(2016);
Тогда мой varialbe yearIsLeapYear правильно установлен верно. Однако, если я использую переменную вместо 2016, это не сработает.
int year = 2016;
GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance();
boolean yearIsLeapYear = cal.isLeapYear(year);
Я что-то упускаю или не могу передать переменную в метод isLeapyYear()? В программе, которую я пишу, значение в поле года может меняться в зависимости от пользовательского ввода, а конечный алгоритм, который я реализую, должен вести себя по-другому, если текущий год - високосный год или следующий год - високосный год. Я думал, что это будет простой способ выполнить чек.
Редактировать показывает полный код
Поля:
private int year;
private boolean yearIsLeapYear , nextYearIsLeapYear, previousYearIsLeapYear;
У меня есть конструктор следующим образом:
public FirstDayOfSummer(int currentYear) {
year = currentYear;
checkForLeapYears();
}
И следующий метод, который я звоню в конструкторе:
private void checkForLeapYears(){
GregorianCalendar cal = (GregorianCalendar) GregorianCalendar.getInstance();
//checking for a leap year using the current value of "year"
if(cal.isLeapYear(year)){
yearIsLeapYear = true;
}
else{
yearIsLeapYear = false;
}
//checking for a leap year using the value of "year" + 1
if(cal.isLeapYear(year + 1){
nextYearIsLeapYear = true;
}
else{
nextYearIsLeapYear = false;
}
//checking for a leap year using the value of "year" - 1
if(cal.isLeapYear(year - 1){
previousYearIsLeapYear = true;
}
else{
previousYearIsLeapYear = false;
}
}
Какая у вас ошибка? – SLaks
Я верю как для обоих фрагментов (неудивительно). Таким образом, ошибка находится где-то в другом месте. –
Является ли это вашим реальным кодом или есть какой-то код, разделяющий между инициализацией 'year' и вызовом' isLeapYear() 'или, возможно, несколько потоков, работающих с полем' year'? – RealSkeptic