📚 Study/Java
JAVA :: Test030_삼항연산자(윤년과 평년을 판별하는 프로그램 구현)
bono-hye
2023. 9. 8. 10:38
○ 실습
사용자로부터 임의의 연도를 입력받아
입력받은 연도가 윤년인지 평년인지 판별하여
그 결과를 출력하는 프로그램을 구현한다.
단, 입력은 BufferedReader 를 활용하고
조건연산자를 활용하여 연산을 수행할 수 있도록 한다.
※ 윤년의 판별 조건
연도가 4의 배수이면서 100의 배수가 아니거나
400의 배수이면 윤년
그렇지 않으면 평년
실행 예)
임의의 연도 입력 : 2000
2000 → 윤년
계속하려면 아무 키나 누르세요...
임의의 연도 입력 : 2012
2012 → 윤년
계속하려면 아무 키나 누르세요...
임의의 연도 입력 : 2023
2023 → 윤년
계속하려면 아무 키나 누르세요...
▼ 내가 작성한 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test030
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int year;
String result;
System.out.print("임의의 연도 입력 : ");
year = Integer.parseInt(br.readLine());
result = (year%4==0 && year%100!=0 || year%400==00) ? "윤년" : "평년";
System.out.printf("%d년 → %s\n", year, result);
}
}
▼ 같이 작성한 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test030
{
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());
// 연도가 4의 배수 연도가 100의 배수 아님 연도가 400의 배수
// year%4==0 year%100!=0 year%400==0
// → year%4==0 이면서 year%100!=0 또는 year%400==0
// → year%4==0 && year%100!=0 || year%400==0
strResult = year%4==0 && year%100!=0 || year%400==0 ? "윤년" : "평년";
System.out.printf("%d년 → %s\n", year, strResult);
}
}