Проверка високосного года

Проверка високосного года

Високосный год делится на 4, за исключением столетий (годы, оканчивающиеся на 00). Вековой год считается високосным, только если он делится на 400.


Пример: программа на Java для проверки високосного года

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 год - не високосный.

В приведенном выше примере мы проверяем, является ли год 1900високосным или нет. Поскольку 1900это вековой год (оканчивающийся на 00), он должен делиться как на 4, так и на 400, чтобы он был високосным.

Однако 1900не делится на 400. Следовательно, это не високосный год.

Теперь давайте изменим год на 2012. На выходе будет

2012 год - високосный.

Здесь 2012не вековой год. Следовательно, чтобы быть високосным, он должен делиться только на 4 .

Поскольку 2012делится на 4, это високосный год.