Проверка високосного года в Java — код, вывод и объяснение
Год считается високосным, если он делится на 4 без остатка, но с одним исключением: век (год, оканчивающийся на 00) високосный только если делится на 400. Например, 1900 — невисокосный, а 2000 — високосный.
Пример: проверка високосного года
В программе используется вложенный if для проверки всех трёх условий: делимость на 4, на 100 и на 400.
public class Main {
public static void main(String[] args) {
// year to be checked
int year = 1900;
boolean leap = false;
// if the year is divided by 4
if (year % 4 == 0) {
// if the year is century
if (year % 100 == 0) {
// if year is divided by 400
// then it is a leap year
if (year % 400 == 0)
leap = true;
else
leap = false;
}
// if the year is not century
else
leap = true;
}
else
leap = false;
if (leap)
System.out.println(year + " is a leap year.");
else
System.out.println(year + " is not a leap year.");
}
}
Вывод:
1900 is not a leap year.
В примере проверяется, является ли год 1900 високосным. Поскольку 1900 — это век (оканчивается на 00), он должен делиться и на 4, и на 400.
Но 1900 не делится на 400, поэтому он не является високосным.
Если поменять год на 2012, вывод будет:
2012 is a leap year.
Здесь 2012 — не век, поэтому достаточно делимости только на 4. Так как 2012 делится на 4 — это високосный год.