JAVA 프로그래밍

[JAVA] 풀스택 개발자 부트캠프 005일차 ② 성적 관리 프로그램

selfdailycoding 2024. 12. 30. 17:08

1. 과목(국어, 영어, 수학)

2. 학생 수 입력 받기

3. 학생의 총점, 학생의 평균, 과목 최고점수, 과목 최저점수, 과목 평균점수 출력

 

Scanner sc = new Scanner(System.in);

int menuNumber = 0;
int student[][] = null;

while(true){
    System.out.println("<성적 관리 프로그램>");
    System.out.println("1. 학생 점수 입력 ");
    System.out.println("2. 학생 점수 총점 ");
    System.out.println("3. 학생 점수 평균 ");
    System.out.println("4. 과목의 최고 점수");
    System.out.println("5. 과목의 최저 점수");
    System.out.println("6. 과목의 평균 점수");
    System.out.println("7. 종료");

    System.out.print("메뉴번호 >> ");
    menuNumber = sc.nextInt();

    if(menuNumber == 1){
        // n명 입력
        System.out.print("총 학생 수가 몇 명입니까? >> ");
        int count = sc.nextInt();
        student = new int[count][3];
        //각 점수 입력
        for ( int i = 0 ; i < student.length ; i++ ){
            System.out.println((i+1) + "번째 학생의 점수를 입력하세요.");
            System.out.print("국어 점수 = ");
            student[i][0] = sc.nextInt();
            System.out.print("영어 점수 = ");
            student[i][1] = sc.nextInt();
            System.out.print("수학 점수 = ");
            student[i][2] = sc.nextInt();
        }

        for ( int i = 0 ; i < student.length ; i++){
            System.out.println(Arrays.toString( student[i] ) );
        }


    } else if (menuNumber == 2) {
        System.out.println("몇 번째 학생의 총점을 보시겠습니까?");
        int number = sc.nextInt();
        int counter = 0;

        for ( int i = 0 ; i < student[number-1].length ; i++){
            counter = counter + student[number-1][i];
        }
        System.out.println(number + "번째 학생의 총점은 " + counter + "점 입니다.");


    } else if (menuNumber == 3) {
        // ?번째 학생의 점수 평균
        System.out.println("몇 번째 학생의 평균을 보시겠습니까?");
        int number = sc.nextInt();

        int counter = 0;
        for ( int i = 0 ; i < student[number-1].length ; i++){
            counter = counter + student[number-1][i];
        }
        double avg = (double) counter / student[number-1].length;
        System.out.println(number + "번째 학생의 평균은 " + avg + "점 입니다.");


    } else if (menuNumber == 4) {
        System.out.print("어떤 과목(국어, 영어, 수학)의 최고 점수를 보시겠습니까? >> ");
        String subject = sc.next();

        int max = 0;
        switch (subject){
            case "국어":
                max = student[0][0];
                for ( int i = 0 ; i < student.length ; i++ ){
                    if(max < student[i][0]){
                        max = student[i][0];
                        }
                }
                System.out.println("국어의 최고 점수는 " + max + "점 입니다.");
                break;
            case "영어":
                max = student[0][1];
                for ( int i = 0 ; i < student.length ; i++ ){
                    if(max < student[i][1]){
                        max = student[i][1];
                    }
                }
                System.out.println("영어의 최고 점수는 " + max + "점 입니다.");
                break;
            case "수학":
                max = student[0][2];
                for ( int i = 0 ; i < student.length ; i++ ){
                    if(max < student[i][2]){
                        max = student[i][2];
                    }
                }
                System.out.println("수학의 최고 점수는 " + max + "점 입니다.");
                break;
        }

    } else if (menuNumber == 5) {
        System.out.print("어떤 과목(국어, 영어, 수학)의 최저 점수를 보시겠습니까? >> ");
        String subject = sc.next();

        int min = 0;
        switch (subject){
            case "국어":
                min = student[0][0];
                for ( int i = 0 ; i < student.length ; i++ ){
                    if(min > student[i][0]){
                        min = student[i][0];
                    }
                }
                System.out.println("국어의 최저 점수는 " + min + "점 입니다.");
                break;
            case "영어":
                min = student[0][1];
                for ( int i = 0 ; i < student.length ; i++ ){
                    if(min > student[i][1]){
                        min = student[i][1];
                    }
                }
                System.out.println("영어의 최저 점수는 " + min + "점 입니다.");
                break;
            case "수학":
                min = student[0][2];
                for ( int i = 0 ; i < student.length ; i++ ){
                    if(min > student[i][2]){
                        min = student[i][2];
                    }
                }
                System.out.println("수학의 최저 점수는 " + min + "점 입니다.");
                break;
        }

    } else if (menuNumber == 6) {
        System.out.print("어떤 과목(국어, 영어, 수학)의 평균을 보시겠습니까? >> ");
        String subject = sc.next();

        if(subject.equals("국어")){
            int counter = 0;
            for(int i = 0; i < student.length; i++ ){
                counter += student[i][0];
            }
            System.out.println("국어의 총점은 " + counter + "점 입니다.");

            double avg = counter / student.length;
            System.out.println("국어의 평균은 " + avg + "점 입니다.");

        } else if (subject.equals("영어")) {
            int counter = 0;
            for(int i = 0; i < student.length; i++ ){
                counter += student[i][1];
            }
            System.out.println("영어의 총점은 " + counter + "점 입니다.");

            double avg = counter / student.length;
            System.out.println("영어의 평균은 " + avg + "점 입니다.");

        } else if (subject.equals("수학")) {
            int counter = 0;
            for(int i = 0; i < student.length; i++ ){
                counter += student[i][2];
            }
            System.out.println("수학의 총점은 " + counter + "점 입니다.");

            double avg = counter / student.length;
            System.out.println("수학의 평균은 " + avg + "점 입니다.");
        }

    } else if (menuNumber == 7) {
        System.out.println("종료하겠습니다.");
        break;
    }
}