반응형

키보드로 년과 월을 입력 받아 해당하는 년 월의 일 수를 출력하고 윤년인지 확인합니다.

윤년 해당 년도는 4의 배수입니다.

 

예를들어 2020년 2월이면 윤년이므로 "2020년 2월 날수 : 29일"을 출력

2019년 8월을 입력하면 윤년이 아니므로 "2019년 8월 날수 : 30일" 출력

 

year("년도") 값을 입력 받습니다.

month("월") 값을 입력 받습니다.

 

만약, 10번째 줄 if문에서 month의 값이 1보다 작거나 12보다 크다면 오류이므로 다시 입력해주라는 메세지를 출력해줍니다.

 

10번째 줄 if문이 참이라면 15번째 줄 if문으로 내려옵니다.

year의 값을 4로 나누었을때 나머지가 0이고 100으로 나누었을때 0이 아니고, 400으로 나누었을때 나머지가 0이면

윤년이므로 난수 29를 발생시킵니다.

 

18번째 줄에서 month의 값이 다음과 같은 홀수인 경우 31일을 출력하고, 짝수인 경우 30일을 출력해줍니다.

 

 

 

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
32
33
34
35
36
37
38
39
40
41
42
        int year, month, nalsu=0 ;
        Scanner sc = new Scanner(System.in);
                
        System.out.println("년 입력");
        year = sc.nextInt();
        
        System.out.println("월 입력");
        month = sc.nextInt();
        
        if(month < 1 || month > 12) {
            System.out.println("1 ~ 12 사이의 숫자를 입력하세요");
            System.exit(1);
        }
        
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
            nalsu = 29;
        
        switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 9:
        case 11:
            nalsu = 31;
            break;
            
        case 4:
        case 6:
        case 8:
        case 10:
        case 12:
            nalsu = 30;
            break;
                        
        }
        
        System.out.println(year + "년 " + month + "월 " + "날수 : " + nalsu);
                
        System.out.println("종료");
        
        sc.close();
 

 

반응형

+ Recent posts