Java에서 윤년 계산
4년마다 달력에 2월 29일을 하루 더 추가하여 윤년을 달력에 추가합니다. 오늘 튜토리얼에서는 Java
를 사용하여 윤년을 계산하는 방법을 배웁니다.
Java를 사용하여 윤년 계산
일반적으로 윤년은 4년마다 발생하지만 윤년에 대한 규정은 다음과 같습니다.
- 연도가 4로 나누어 떨어지면 윤년이다.
1900
또는2000
과 같이100
으로 나누어지는 연도는400
으로도 나누어지지 않는 한 윤년이 될 수 없습니다. 그 결과1600
과2000
에는 윤년이 있었지만1700
,1800
및1900
에는 윤년이 없었습니다.- 앞의 두 기준을 모두 만족하는 해는 윤년이다.
예를 들어 보겠습니다. 첫째, 사용자가 원하는 연도를 입력할 수 있도록 스캐너
클래스를 여기에서 가져옵니다.
나머지 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
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