티스토리 뷰

반응형

Work01: 윤년? 평년?

/*========================================
 * ■■■  과제 1  ■■■ 
 * 사용자로부터 임의의 년도(정수)를 입력받아 
 * 입력받은 연도가 윤년인지 평년인지 판별하여 
 * 결과를 출력하는 프로그램을 작성한다. 
 * (클래스명 : Work01)
 * 단, 조건 연산자를 활용하여 작성할 수 있도록 한다.
 * 
 * ※캘린더(Calendar) 클래스 사용 금지
 * ※윤년의 조건
 * 1. 그 해의 숫자가 4의 배수인 경우는 윤년이다.   
 *    예) 2004는 4로 나누어지므로 윤년!
 * 2. 그 해의 숫자가 4로 나누어지지만 100으로도 나누어 지면 윤년이 아니다.   
 *    예) 2100년은 4로 나누어지지만 100으로 나누어지므로 윤년이 아니다!
 * 3. 그 해의 숫자가 100으로 나누어지지만 400으로도 나누어 지면 윤년이다.    
 *    예) 2000년은 100으로 나누어지지만 400으로도 나누어지므로 윤년이다!
 ========================================*/

// 실행 예)
// 임의의 연도 입력 : 2000
// >> 2000 → 윤년

// 임의의 연도 입력 : 2012
// >> 2012 → 윤년

// 임의의 연도 입력 : 2017
// >> 2017 → 평년

package com.test;

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

public class Work01
{

	public static void main(String[] args) throws IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n;
		String strData;
		
		System.out.print("임의의 연도 입력 : ");
		n = Integer.parseInt(br.readLine());

		// 조건 연산자(삼항 연산자)를 사용한 윤년 계산
		strData = n%4 == 0 ? (n%100 == 0 ? (n%400 == 0 ? "윤년" : "평년") : "윤년") : "평년";		

		// 결과 출력
		System.out.print(">>" + n + " → " + strData);
	}

}


/*
실행 결과)

임의의 연도 입력 : 2015
>>2015 → 평년
---------------------------
임의의 연도 입력 : 2012
>>2012 → 윤년
*/


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함