본문 바로가기

📚Study Note/JAVA

삼항 연산자를 활용한 윤년 / 평년 판별

/*====================================
 ■■■  연산자 ( Operator) ■■■
 - 삼항 연산자 (요즘에는 조건 연산자라고 많이 부른다)
 =====================================*/

 // 사용자로부터 임의의 연도를 입력받아 입력받은 연도가 윤년인지 평년인지 판별하여 결과를 출력하는 프로그램을 구현한다.
 // 단, 입력은 BufferedReader 의 readLine() 을 활용하고 연산은 조건 연산자를 활용할 수 있도록 한다.

 // 실행 예)
 // 임의의 연도 입력 : 2000
 // 2000 → 윤년
 // 계속하려면 아무 키나...

 // 임의의 연도 입력  : 2011
 // 2011 → 평년
 // 계속하려면 아무 키나...

 // ※ 윤년의 판별 조건
 // ①  연도가 4의 배수이면서 100의 배수가 아니거나
 // ②  또는, 400의 배수이면 윤년 !
 // ③  그렇지 않으면 → 평년 

 

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

 public class Test029
{
	public static void main(String[] args) throws IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

		int year;
		String strResult;

		System.out.print("임의의 연도 입력  : ");
		year = Integer.parseInt(br.readLine());

		// 조건연산처리
		// 두 개 이상의 조건이 등장하면 논리연산자가 와야 한다?
		// 결과가 3개이면 중첩으로 하지만 이것은 결과가 2개(윤년 또는 평년) 이므로
		// 굳이 그렇게 하지 않아도 된다,

		strResult = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? "윤년" : "평년";
			
		System.out.printf("%d → %s\n", year, strResult);


	/*
	임의의 연도 입력  : 2020
	2020 → 윤년
	계속하려면 아무 키나 누르십시오 . . .

	임의의 연도 입력  : 2021
	2021 → 평년
	계속하려면 아무 키나 누르십시오 . . .
	*/



	}
}