스크린샷 2025-08-11 오후 4.29.23.png

package com.haenin.section01.conditional;

public class Application1 {
    public static void main(String[] args) {
        A_if a = new A_if();
//        a.testSimpleIfStatement();
//        a.testNestedIfStatement();

        B_IfElse b = new B_IfElse();
//        b.testSimpleIfElseStatement();
//        b.testNestedIfElseStatement();

        C_switch c = new C_switch();
//        c.testSimpleSwitchStatement();

        D_test d = new D_test();
        d.testNestedIfElseStatement();
    }
}

package com.haenin.section01.conditional;

import java.util.Scanner;

public class A_if {
    public void testSimpleIfStatement() {
        Scanner sc = new Scanner(System.in);
        System.out.print("정수 한 개를 입력하세요: ");
        int input = sc.nextInt();

        // 필기. 의사코드(pseudo code): 실제 로직 구현 전에 글로 작성해 보는 것(틀을 만들어 할 수도 있음)
//        만약에(입력받은 값이 짝수면){
//            "짝수입니다"" 출력
//        }
        if(input % 2==0){
            System.out.println("짝수입니다. ");
        }
    }

    public void testNestedIfStatement() {
        Scanner sc = new Scanner(System.in);

        System.out.println("양수 하나를 입력해 주세요.: ");
        int input = sc.nextInt();
        if(input>0){
            if(input%2==0){
                System.out.println("입력 받은 값은 양수이면서 짝수입니다. ");
            }
        }
        
        /* 설명. 중첩 if만이 정답은 아니다. */
        if(input > 0 && input % 2 ==0 ){
            System.out.println("입력 받은 값은 양수이면서 짝수입니다.");
        }
    }
}

package com.haenin.section01.conditional;

import java.util.Scanner;

public class B_IfElse {

    public void testSimpleIfElseStatement() {
        Scanner sc = new Scanner(System.in);

        System.out.print("정수를 하나 입력하세요: ");
        int input = sc.nextInt();

//        만약에(홀수라면){
//            "입력하신 정수는 홀수입니다." 출력
//        } 그렇지 않다면 {
//            "입력하신 정수는 짝수입니다." 출력
//        }

        if(input % 2 != 0){
            System.out.println("입력하신 정수는 홀수입니다.");
        }else{
            System.out.println("입력하신 정수는 짝수입니다.");
        }
    }

    public void testNestedIfElseStatement() {
        Scanner sc = new Scanner(System.in);

        System.out.println("정수를 하나 입력하세요: ");
        int input = sc.nextInt();

        /* 설명. 양수이면서 짝수, 양수이면서 홀수,0 */
        if(input != 0){
            if(input > 0){
                if (input%2==0){
                    System.out.println("양수이면서 짝수");
                } else{
                    System.out.println("양수이면서 홀수");
                }
            }
        }else {
            System.out.println("0");
        }

    }
}

package com.haenin.section01.conditional;

import java.util.Scanner;

public class C_switch {

    public void testSimpleSwitchStatement() {
        Scanner sc = new Scanner(System.in);
        System.out.println("본인의 등급을 입력하세요(G, S, B)");

        /* 설명. 골드(G), 실버(S), 브론즈(B) 등급별 초기 점수 부여 */
        char grade = sc.next().charAt(0);
//      char grade = "Gold".charAt(0);
        System.out.println(grade);

        int point = 0 ;
        switch (grade){
            case 'G':
                point += 100;
                break;
            case 'S':
                point += 50;
                break;
            case 'B':
                point += 30;
                break;
            default:
                System.out.println("다시 입력해주세요.");
        }
        System.out.println("회원님께 부여된 초기 포인트는 "+point);
    }
}

package com.haenin.section01.conditional;

import java.util.Scanner;

public class D_test {
    public void testNestedIfElseStatement() {
        /* 설명.
         *  ohgiraffers 대학의 김XX 교수님은 학생들 시험 성적을 수기로 계산해서 학점 등급을 매기는
         *  채점방식을 사용하고 있다.
         *  90점 이상이면 'A', 80점 이상이면 'B', 70점 이상이면 'C', 60점 이상이면 'D', 마지막으로
         *  60점 미만인 경우에는 'F'를 학점으로 주게 된다.
         *  그래서 학생의 이름과 점수를 입력하면 자동으로 학점 등급이 계산되는 프로그램을 만들기로 했다.
         *  (추가로, 각 등급의 중간점수(95, 85, 75...) 이상인 경우 '+'를 붙여서 등급을 세분화 해보자.)
         *
         * 설명.
         *  출력 예시: XXX 학생의 점수는 86점이고, 등급은 B+입니다.
         *            프로그램을 종료합니다.
         * */
        Scanner sc = new Scanner(System.in);
        System.out.println("이름을 입력하세요: ");
        String name = sc.nextLine();
        System.out.println("점수를 입력하세요: ");
        int g = sc.nextInt();
        String grade = "";
        if (g >= 90) {
            grade = "A";
        } else if (g >= 80) {
            grade = "B";
        } else if (g >= 70) {
            grade = "C";
        } else if (g >= 60) {
            grade = "D";
        } else {
            grade = "F";
        }
        if (g >= 0 && g <= 100) {
            /* 설명. 추가 조건 (+) 에 따라 + 부착 */
            if(g == 100 | g  >= 60 && g % 10 >=5){
                grade += "+";
            }
            System.out.println(name + "학생의 학점은: " + grade);
            System.out.println("프로그램을 종료합니다.");
        }else{
            System.out.println("입력을 다시 해주세요 교수님! ");
        }
    }
}