Код работает, когда первый год является високосным, поэтому, если я скажу, что это 2004 год, он вернет 2008 год, но если начальный год не является високосным, он ничего не вернет. Как бы я вывел это, если, например: данный год был 2001, 2002 или 2003, следующим високосным годом будет 2004. Я знаю, что цикл while имеет смысл, но я не знаю, что в него вставить. ТАКЖЕ я могу использовать только базовое форматирование java, поэтому не вводите классы, такие как java.time.Year
public static boolean leapYear(int year) {
boolean isLeap = true;
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0)
isLeap = true;
else
isLeap = false;
} else
isLeap = true;
} else {
isLeap = false;
}
return isLeap;
}
public static int nextLeapYear(int year) {
int nextLeap = 0;
if (leapYear(year)) {
nextLeap = nextLeap + 4;
} else {
while (!leapYear(year)) {
nextLeap++;
}
nextLeap += 1;
}
year += nextLeap;
return year;
}