/*====================================
■■■ 연산자 ( 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 → 평년
계속하려면 아무 키나 누르십시오 . . .
*/
}
}
'📚Study Note > JAVA' 카테고리의 다른 글
[ JAVA ] if ~ else 문 ① (0) | 2021.03.10 |
---|---|
제어문 _ IF 문 (0) | 2021.03.05 |
삼항연산자를 통한 홀수/짝수 , 정수(- + 0) 판별 (0) | 2021.03.04 |
float와 double의 정밀도, 비트단위연산자와 논리연산자 (0) | 2021.03.04 |
java.util.Scanner (0) | 2021.03.02 |