Java에서 윤년 계산

Muhammad Zeeshan 2023년10월12일
Java에서 윤년 계산

4년마다 달력에 2월 29일을 하루 더 추가하여 윤년을 달력에 추가합니다. 오늘 튜토리얼에서는 Java를 사용하여 윤년을 계산하는 방법을 배웁니다.

Java를 사용하여 윤년 계산

일반적으로 윤년은 4년마다 발생하지만 윤년에 대한 규정은 다음과 같습니다.

  1. 연도가 4로 나누어 떨어지면 윤년이다.
  2. 1900 또는 2000과 같이 100으로 나누어지는 연도는 400으로도 나누어지지 않는 한 윤년이 될 수 없습니다. 그 결과 16002000에는 윤년이 있었지만 1700, 18001900에는 윤년이 없었습니다.
  3. 앞의 두 기준을 모두 만족하는 해는 윤년이다.

예를 들어 보겠습니다. 첫째, 사용자가 원하는 연도를 입력할 수 있도록 스캐너 클래스를 여기에서 가져옵니다.

나머지 if-else 블록은 입력 연도가 윤년인지 확인하기 위해 한 줄로 통합됩니다. 아래 코드 예제는 해당 연도가 윤년인지 여부를 확인하는 방법을 보여줍니다.

시작하려면 다음 라이브러리를 가져옵니다.

import java.io.*;
import java.util.Scanner;

사용자가 지정한 연도를 유지하려면 main 클래스에 Useryear라는 int 유형 변수를 만듭니다.

int Useryear;

Scanner 클래스 개체를 초기화합니다. 그런 다음 s라는 Scanner 클래스의 개체를 사용하여 사용자로부터 입력을 받습니다.

Scanner s = new Scanner(System.in);
Useryear = s.nextInt();

첫 번째 조건에서는 세기 윤년인지 확인하고 두 번째 조건에서는 세기가 아닌 윤년인지 확인합니다.

if ((Useryear % 400 == 0) || ((Useryear % 4 == 0) && (Useryear % 100 != 0)))

두 조건이 모두 참이면 "주어진 연도는 윤년입니다"라고 인쇄됩니다. 그렇지 않으면 "주어진 해는 윤년이 아닙니다." 입니다.

전체 소스 코드:

import java.io.*;
import java.util.Scanner;

public class leapyear {
  public static void main(String[] args) {
    int Useryear;
    Scanner s = new Scanner(System.in);
    Useryear = s.nextInt();
    if ((Useryear % 400 == 0) || ((Useryear % 4 == 0) && (Useryear % 100 != 0))) {
      System.out.println(Useryear + " : Given year is a leap year");
    } else {
      System.out.println(Useryear + " : Given year is not a leap year");
    }
  }
}

출력:

// Input Year
2000
2000 : Given year is a leap year

// Input Year
2022
2022 : Given year is not a leap year
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn