📚 Study/Java

JAVA :: Test034_과제_제어문 if~else (윤년/평년 판별하는 프로그램 구현)

bono-hye 2023. 9. 8. 10:39

○ 과제

사용자로부터 임의의 연도를 입력받아

입력받은 연도가 윤년인지 평년인지 판별하여

그 결과를 출력하는 프로그램을 구현한다.

단, 입력은 BufferedReader를 활용하고

if 조건문을 활용하여 연산을 수행할 수 있도록 한다.

 

실행 예)

임의의 연도 입력 : 2024

2024년 → 윤년

계속하려면 아무 키나 누르세요...

 

실행 예)

임의의 연도 입력 : 2023

2024년 → 평년

계속하려면 아무 키나 누르세요...

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Test034
{
	public static void main(String[] args) throws IOException
	{
		// 주요 변수 선언
		int year;													//-- 사용자가 입력한 임의의 연도
		String result;												//-- 윤년인지 평년인지 판별

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		

		// 연산 및 처리
		System.out.print("임의의 연도 입력 : ");					//-- 사용자에게 안내 메세지 출력
		year = Integer.parseInt(br.readLine());						//-- 문자열을 정수로 변환 후 변수 year에 담아냄
	
		if (year%4==0 && year%100!=0 || year%400==0)				//-- 연도가 4의 배수이면서 100의 배수가 아니거나 400의 배수인 경우에는 "윤년"
		{
			result = "윤년";
		}
		else if (year%4!=0 || year%100==0 && year%400!=0 )			//-- 연도가 4의 배수가 아니거나 100의 배수이면서 400의 배수가 아닌 경우에는 "평년"
		{
			result = "평년";
		}
		else 
		{
			result = "입력 과정에 오류가 존재합니다.";				//-- 사용자가 입력한 값에 오류가 있어 판별이 불가능한 경우			
		}

		// 결과 출력
		System.out.printf("%d년 → %s\n", year, result);


	}
}