본문 바로가기

JAVA/국비 공부

3월15일 (예제1)

성적 관리 프로그램을 
인원 제한이 없는 프로그램으로

ArrayUtil을 사용하여 만들어보세요.

 

 

package day0315;

import java.util.Scanner;
import util.ScannerUtil;
import util.ArrayUtil;

public class GradeBook01 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 번호를 담당하는 배열 idArray
        int[] idArray = new int[0];

        // 이름을 담당하는 배열 nameArray
        String[] nameArray = new String[0];

        // 점수를 담당하는 배열
        int[][] scoreArray = new int[3][0];
                                 //과목의수 // 학생
        
        while (true) {
            int userChoice = ScannerUtil.nextInt(scanner, " 1. 입력 2. 출력 3. 종료");

            if (userChoice == 1) {
                // 입력코드 구현
                // 번호 입력
                int id = ScannerUtil.nextInt(scanner, "번호를 입력해주세요");
                // 이름 입력
                String name = new String(ScannerUtil.nextLine(scanner, "이름을 입력해주세요"));
                // 국어점수입력
                int kor = ScannerUtil.nextInt(scanner, "국어점수를 입력해주세요", 0, 100);
                // 영어점수입력
                int eng = ScannerUtil.nextInt(scanner, "영어점수를 입력해주세요", 0, 100);
                // 수학 점수입력
                int math = ScannerUtil.nextInt(scanner, "수학 점수를 입력해주세요", 0, 100);

                idArray = ArrayUtil.add(idArray, id);
                nameArray = ArrayUtil.add(nameArray, name);
                scoreArray[0] = ArrayUtil.add(scoreArray[0], kor);
                scoreArray[1] = ArrayUtil.add(scoreArray[1], eng);
                scoreArray[2] = ArrayUtil.add(scoreArray[2], math);

            } else if (userChoice == 2) {
                // 출력코드 구현
                if (ArrayUtil.size(idArray) == 0) {
                    System.out.println("아직 입력된 정보가 없습니다.");
                } else {
                    for (int i = 0; i < ArrayUtil.size(idArray); i++) {
                        print(idArray[i], nameArray[i], scoreArray[0][i], scoreArray[1][i], scoreArray[2][i]);
                    }
                }
            } else if (userChoice == 3) {
                System.out.println("사용해주셔서 감사합니다");
                break;
            }
        }

        scanner.close();
    }

    // 출력에서 사용할 메소드
    public static void print(int id, String name, int kor, int eng, int math) {
        System.out.printf("번호 : %d번 이름: %s\n", id, name);
        System.out.printf("국어 : %3d점 영어 : %3d점 수학 : %3d점", kor, eng, math);
        int sum = kor + eng + math;
        double average = sum / 3.0;
        System.out.printf("총점: %3d점 평균: %06.2f점 \n", sum, average);

    }
}

'JAVA > 국비 공부' 카테고리의 다른 글

3월15일 수업(예제3)  (0) 2021.03.15
3월15일(예제2)  (0) 2021.03.15
3월 15일 수업(예제)  (0) 2021.03.15
3월15일 수업  (0) 2021.03.15
3월15일수업(클래스)  (0) 2021.03.15