반응형

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

윤년 해당 년도는 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();
 

 

반응형
반응형

if문

 

- 실행할 문장이 '참'이면 실행해주고 '거짓'이면 실행하지 않습니다.

- if문 구성

 

if ( 조건식 ) {

   실행할 문장;

}

 

예문을 들어보겠습니다.

 

num변수의 값을 2로 주었습니다.

num 값이 3보다 크거나 같으면 '크다'와 '참'을 출력하고 거짓이면 '작다'와 '거짓'을 출력한다.

 

두번째로

num2 변수의 값을 5로 주고

num2 값이 3보다 작으면 '작다2'와 '참2'를 출력하고, 거짓이면 '크다2'와 '거짓2'를 출력한다.

// 조건 판단문 if
        int num = 2;
        
        if(num >= 3) {
            System.out.println("크다");
            System.out.println("참");
        }
        else {
            System.out.println("작다");
            System.out.println("거짓");
        }
        
        int num2 = 5;
        if(num2 < 3) {
            System.out.println("작다2");
            System.out.println("참2");
        }
        else {
            System.out.println("크다2");
            System.out.println("거짓2");
        }

 

작다
거짓
크다2
거짓2

 

 

다중 if문

 

if문 안에 if문이 또 존재하는 것으로 바로 예문을 들어보겠습니다.

 

변수 jum의 값을 75로 주었습니다.

if문을 통해 90이상이면 '수'를 출력

80이상이면 '우'를 출력

70이상이면 '미'를 출력

60이상이면 '양'을 출력

그 외는 '가'를 출력 하는 소스입니다.

 

int jum = 75;
        String re = "평가 결과 : ";
        
        if(jum >= 90) {
            re += "수";
        }
        else if(jum >= 80) {
            re += "우";
        }
        else if(jum >= 70) {
            re += "미";
        }
        else if(jum >= 60) {
            re += "양";
        } else {
            re += "가";
        }
 
        System.out.println(re);

 

평가 결과 : 미

 

 

 


 

Switch 문

 

조건이 여러 개일 경우 if문 대신에 사용 가능한 조건문입니다.

 

Switch문 형식

 

switch(변수) {

case 변수1 : 

       실행문;

       break;

 

case 변수2 : 

       실행문;

       break;

 

default:

       실행문;

}

 

예제로 넘어가겠습니다.

 

num 변수의 값을 20으로 정해주었습니다.

switch문을 통해 num 값이 20인 경우 20을 출력하고 30인 경우 30인 경우 30을 출력 그 외 '기타'로 출력합니다.

 

        int num = 20;
        
        switch(num) {
        case 20:
            System.out.println("20");
            break;
            
        case 30:
            System.out.println("30");
            break;
        default:
            System.out.println("기타");
                break// option
        }

 

20

 

if문과 switch문 공부한 문제

 

2020/03/03 - [JAVA/JAVA 프로그래밍 응용] - if문과 switch문 활용하여 년과 월을 받아 해당하는 월의 일 수 체크

반응형

'JAVA > JAVA' 카테고리의 다른 글

6 - 클래스 ( class )  (0) 2020.03.03
5 - 배열(Arrary)  (0) 2020.03.03
3 - 반복문 for & while  (0) 2020.03.03
2 - 연산자  (0) 2020.03.03
1 - 데이터 타입 & 형 변환  (0) 2020.03.02

+ Recent posts