24.05.09 목 TIL(Today I Learned)

신민금·2024년 5월 9일
0
post-thumbnail

TIL(Today I Learned)

: 매일 저녁, 하루를 마무리하며 작성 !
: ⭕ 지식 위주, 학습한 것을 노트 정리한다고 생각하고 작성하면서 머리 속 흩어져있는 지식들을 정리 !


알고리즘 코드카타

  • 문제 설명
    문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
  • 제한사항
    s의 길이는 1 이상 5이하입니다.
    s의 맨앞에는 부호(+, -)가 올 수 있습니다.
    s는 부호와 숫자로만 이루어져있습니다.
    s는 "0"으로 시작하지 않습니다.
class Solution {
    public int solution(String s) {
        int answer = 0;
        answer = Integer.parseInt(s);
        return answer;
    }
}

팀 프로젝트 진행

캠프 관리 프로그램

프로그램 역할 : 내배캠 스프링 수강생들을 관리하는 프로그램

섹션 1 2 3 4 모두 통합 완료

// RealMain -------------------

import java.lang.reflect.Array;
import java.util.*;

public class RealMain {
    static Scanner sc = new Scanner(System.in);
    static ArrayList<Student> students = new ArrayList<>();

    public static void main(String[] args) {
        Student student1 = new Student(1, "김예현"); // [Test] 학생1 더미 데이터
        Student student2 = new Student(2, "신민금"); // [Test] 학생2 더미 데이터
        Student student3 = new Student(3, "황태경"); // [Test] 학생3 더미 데이터
        Student student4 = new Student(4, "이상헌"); // [Test] 학생4 더미 데이터

        ArrayList<Subject> selectedSubjectList1 = new ArrayList<>(); // [Test] 학생1 과목리스트 더미 데이터
        ArrayList<Subject> selectedSubjectList2 = new ArrayList<>(); // [Test] 학생2 과목리스트 더미 데이터
        ArrayList<Subject> selectedSubjectList3 = new ArrayList<>(); // [Test] 학생3 과목리스트 더미 데이터
        ArrayList<Subject> selectedSubjectList4 = new ArrayList<>(); // [Test] 학생4 과목리스트 더미 데이터

        selectedSubjectList1.addAll(List.of(Subject.MYSQL, Subject.JAVA));
        selectedSubjectList2.add(Subject.MONGODB);
        selectedSubjectList3.addAll(List.of(Subject.REDIS, Subject.SPRING_SECURITY, Subject.OBJECT_ORIENTED));
        selectedSubjectList4.add(Subject.JPA);

        student1.SetSubjectList(selectedSubjectList1);
        student2.SetSubjectList(selectedSubjectList2);
        student3.SetSubjectList(selectedSubjectList3);
        student4.SetSubjectList(selectedSubjectList4);

        student1.registerExamScore(0, 0, 80);
        student1.registerExamScore(1, 1, 90);

        students.addAll(List.of(student1, student2, student3, student4));

        sortSubjectList(students); // 학생 순서 id값으로 정렬

        try {
            displayMainView();
        } catch (Exception e) {
            System.out.println("\n오류 발생!\n프로그램을 종료합니다.");
        }
    }

    private static void displayMainView() throws InterruptedException {
        boolean flag = true;
        while (flag) {
            System.out.println("\n==================================");
            System.out.println("내일배움캠프 수강생 관리 프로그램 실행 중...");
            System.out.println("1. 수강생 관리");
            System.out.println("2. 점수 관리");
            System.out.println("3. 프로그램 종료");
            System.out.print("관리 항목을 선택하세요...");
            int input = sc.nextInt();

            switch (input) {
                case 1 -> displayStudentView(); // 수강생 관리
                case 2 -> displayScoreView(); // 점수 관리
                case 3 -> flag = false; // 프로그램 종료
                default -> {
                    System.out.println("잘못된 입력입니다.\n되돌아갑니다!");
                    Thread.sleep(2000);
                }
            }
        }
        System.out.println("프로그램을 종료합니다.");
    }

    private static void displayStudentView() {
        boolean flag = true;
        while (flag) {
            System.out.println("==================================");
            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.print("관리 항목을 선택하세요...");
            int input = sc.nextInt();

            switch (input) {
                case 1 -> createStudent();  // 수강생 등록
                case 2 -> inquireStudent(); // 수강생 목록 조회
                case 3 -> changeStudent();  // 수강생 수정
                case 4 -> registerStatus(); // 수강생 상태 등록
                case 5 -> flag = false;     // 메인 화면 이동
                default -> {
                    System.out.println("잘못된 입력입니다.\n메인 화면 이동...");
                    flag = false;
                }
            }
        }
    }

    // 수강생 등록
    private static void createStudent() {
        System.out.println("\n수강생을 등록합니다...");
        System.out.print("수강생 이름 입력: ");
        String studentName = sc.next();

        // 기능 구현 (필수 과목, 선택 과목)
        int studentID = students.size() + 1;
        Student student = new Student(studentID, studentName);

        students.add(student);

        ArrayList<Subject> list = new ArrayList<>();
        int requiredCount = 0; // 필수 과목 수 카운트
        int optionalCount = 0; // 선택 과목 수 카운트

        System.out.println("등록할 과목을 숫자로 선택해주세요. 'done'를 입력하면 과목 선택이 완료됩니다.");
        System.out.println("필수과목: [ 1.JAVA | 2.OOP | 3.Spring | 4.JPA | 5.MySQL ]");
        System.out.println("선택과목: [ 6.디자인패턴 | 7.Spring Security | 8.Redis | 9.MongoDB]");

        while (true) {
            String chooseSubject = sc.next();
            if (chooseSubject.equals("done")) {
                if (requiredCount < 3 || optionalCount < 2) {
                    System.out.println("최소 3개 이상의 필수 과목, 2개 이상의 선택 과목을 선택합니다.");
                    continue;
                } else {
                    student.SetSubjectList(list);
                    break;
                }
            }

            try {
                int subjectNumber = Integer.parseInt(chooseSubject);
                if (isUnique(list, subjectNumber)) {
                    Subject subject = Subject.findByCode(subjectNumber);
                    System.out.println("subject = " + subject);
                    if (subject.GetisRequired()) {
                        requiredCount++;
                    } else {
                        optionalCount++;
                    }
                    list.add(subject);
                } else {
                    System.out.println("이미 등록한 과목입니다.");
                }
            } catch (IllegalArgumentException e) {
                System.out.println("올바른 과목 번호를 선택하세요.");
            } catch (NullPointerException e) {
                System.out.println("유효한 과목을 선택하세요.");
            }
        }

        System.out.println("수강생 정보:");
        System.out.println("ID: " + student.GetStudentID());
        System.out.println("이름: " + student.GetStudentName());
        System.out.println("수강한 과목: " + student.GetSubjectList());

        // 기능 구현
        System.out.println("수강생 등록 성공!\n");
    }

    // 수강생 목록 조회
    private static void inquireStudent() {
        System.out.println("\n수강생 목록을 조회합니다...");
        // 기능 구현
        for (int i = 0; i < students.size(); i++) {
            System.out.println(" [ " + (i + 1) + ". " + students.get(i).GetStudentName() + " ] ");
        }
        System.out.println("\n수강생 목록 조회 성공!");
    }

    // 수강생 정보 수정
    private static void changeStudent() {
        System.out.println("\n수강생 정보를 수정합니다...");

        while (true) {
            int studentId = getStudentId();
            System.out.println((studentId + 1) + "번 " + students.get(studentId).GetStudentName() + " 수강생의 수정할 정보를 선택해주세요.");
            System.out.println("수정 목록:[ 1.이름 | 2.상태 ]");
            int selectNumber = sc.nextInt();
            switch (selectNumber) {
                case 1 -> {
                    System.out.println((studentId + 1) + "번 " + students.get(studentId).GetStudentName() + " 수강생의 수정할 이름을 입력해주세요.");
                    String name = sc.next();
                    students.get(studentId).SetStudentName(name);
                }
                case 2 -> {
                    System.out.println((studentId + 1) + "번 " + students.get(studentId).GetStudentName() + " 수강생의 수정할 상태를 입력해주세요. 현재 상태:" + students.get(studentId).GetCondition());
                    String condition = sc.next();
                    students.get(studentId).SetCondition(condition.toUpperCase());
                }
                default -> System.out.println("올바른 목록을 선택해주세요.");
            }

            System.out.println("[ " + students.get(studentId).GetStudentID() + "." + students.get(studentId).GetStudentName() + ", 상태 : " + students.get(studentId).GetCondition() + " ]");

            System.out.println("수정이 완료되었습니다. 추가로 수정하시겠습니까?");
            System.out.println("[ 1.예 | 2.아니요(메인으로) ]");
            selectNumber = sc.nextInt();
            if (selectNumber == 2) {
                break;
            }
        }
    }

    // 수강생 상태 등록
    private static void registerStatus() {
        System.out.println("\n수강생 상태를 등록합니다...");

        int studentId = getStudentId();
        System.out.println("\n" + (studentId + 1) + "번 " + students.get(studentId).GetStudentName() + " 수강생의 상태를 선택해주세요.");
        System.out.println("[ 1.GREEN | 2.YELLOW | 3.RED ]");
        while (true) {
            int conditioinNumber = sc.nextInt();
            String condition = "";
            switch (conditioinNumber) {
                case 1 -> condition = "GREEN";
                case 2 -> condition = "YELLOW";
                case 3 -> condition = "RED";
                default -> System.out.println("올바른 상태 번호를 입력해주세요.");
            }
            if (condition.equals("GREEN") || condition.equals("YELLOW") || condition.equals("RED")) {
                students.get(studentId).SetCondition(condition);
                break;
            }
        }
        System.out.println(students.get(studentId).GetStudentName() + ":" + students.get(studentId).GetCondition());
        System.out.println("\n수강생 상태 등록 성공!");
    }

    private static void displayScoreView() {
        boolean flag = true;
        while (flag) {
            System.out.println("==================================");
            System.out.println("점수 관리 실행 중...");
            System.out.println("1. 수강생의 과목별 시험 회차 및 점수 등록");
            System.out.println("2. 수강생의 과목별 회차 점수 수정");
            System.out.println("3. 수강생의 특정 과목 회차별 등급 조회");
            System.out.println("4. 메인 화면 이동");
            System.out.print("관리 항목을 선택하세요...");
            int input = sc.nextInt();

            switch (input) {
                case 1 -> createScore(); // 수강생의 과목별 시험 회차 및 점수 등록
                case 2 -> updateRoundScoreBySubject(); // 수강생의 과목별 회차 점수 수정
                case 3 -> inquireRoundGradeBySubject(); // 수강생의 특정 과목 회차별 등급 조회
                case 4 -> flag = false; // 메인 화면 이동
                default -> {
                    System.out.println("잘못된 입력입니다.\n메인 화면 이동...");
                    flag = false;
                }
            }
        }
    }

    private static int getStudentId() {
        int a = -1;
        do {
            for (Student student : students) {
                String info = "[" + student.GetStudentID() + "." + student.GetStudentName() + "]";
                System.out.print(info);
            }
            System.out.print("\n관리할 수강생의 번호를 입력하시오...");
            a = sc.nextInt();
        } while (foundStudent(a) == -1);
        return foundStudent(a); // 학생 고유번호 -> 인덱스
    }

    // 수강생의 과목별 시험 회차 및 점수 등록
    private static void createScore() {
        int studentId = getStudentId();


        int SubjectInput = -1;
        do {
            System.out.println((studentId + 1) + "번 " + students.get(studentId).GetStudentName() + " 수강생의 점수를 등록할 과목을 선택해주세요.");

            // 수강생이 등록한 과목들 출력해주기
            if (!students.get(studentId).GetSubjectList().isEmpty()) {
                for (Subject subject : students.get(studentId).GetSubjectList()) {
                    String info = "[" + subject.GetSubjectId() + "." + subject.GetSubjectName() + "]";
                    System.out.print(info);
                }
            } else {
                System.out.println("해당 수강생은 등록되어 있는 과목이 없습니다. \n 메인으로 돌아갑니다.");
            }
            SubjectInput = foundSubject(studentId, (sc.nextInt()));
        } while (SubjectInput == -1);

        int indexInput = -1;
        do {
            System.out.println((studentId + 1) + "번  " + students.get(studentId).GetStudentName() + " 수강생의 점수를 등록할 과목 " + students.get(studentId).GetSubjectList().get(SubjectInput) + "의 회차를 선택해주세요.");
            // 회차당 등록 미등록 여부 띄워주기
            String[] strings = students.get(studentId).getExamResultOrUnregistered(SubjectInput);
            System.out.println(Arrays.toString(strings));
            indexInput = sc.nextInt() - 1;
        } while (indexInput > 10 || indexInput < 0);

        int registScore = -1;
        do {
            System.out.println((studentId + 1) + "번  " + students.get(studentId).GetStudentName()
                    + " 수강생의 점수를 등록할 과목 " + students.get(studentId).GetSubjectList().get(SubjectInput) + "의 " + (indexInput + 1) + " 회차 점수를 입력해주세요.");
            registScore = sc.nextInt();
            if (registScore > 100 || registScore < 0) {
                System.out.println("0~100점 범위를 벗어났습니다.");
            }
        } while (registScore > 100 || registScore < 0);


        // 점수 등록(과목index, 회차index, 점수)
        students.get(studentId).registerExamScore(SubjectInput, indexInput, registScore);
        // 미등록, 등록 재갱신
        String[] strings = students.get(studentId).getExamResultOrUnregistered(SubjectInput);

        // 점수 등록 후 출력
        System.out.println(Arrays.toString(strings));
    }

    // 수강생의 과목별 회차 점수 수정
    private static void updateRoundScoreBySubject() {
        int studentId = getStudentId(); // 관리할 수강생 고유 번호
        int subjectId = -1;
        do {
            for (Subject subject : students.get(studentId).GetSubjectList()) {
                String info = "[" + subject.GetSubjectId() + "." + subject.GetSubjectName() + "]";
                System.out.print(info);
            }
            System.out.print("\n수정할 과목의 번호를 입력하시오...");
            subjectId = foundSubject(studentId, sc.nextInt());
        } while (subjectId == -1);

        int index;
        do {
            System.out.print(Arrays.toString(students.get(studentId).getExamResultOrUnregistered(subjectId)));
            System.out.print("\n수정할 회차의 번호를 입력하시오...");
            index = sc.nextInt();
            if (index > 10 || index < 1) {
                System.out.println("존재하지 않는 회차입니다.");
            }
        } while (index > 10 || index < 1);

        int score;
        do {
            System.out.print("새로 입력하실 점수를 입력하시오...");
            score = sc.nextInt();
            if (score > 100 || score < 0) {
                System.out.println("0~100점 범위를 벗어났습니다.");
            }
        } while (score > 100 || score < 0);

        students.get(studentId).updateExamScore(subjectId, index - 1, score);
    }

    // 수강생의 특정 과목 회차별 등급 조회
    private static void inquireRoundGradeBySubject() {
        int selectedStudentId = getStudentId(); // 관리할 수강생 번호
        // 수강생 과목 선택
        int i = -1; 
        do {
            System.out.print(students.get(selectedStudentId).GetStudentID() + "번 " + students.get(selectedStudentId).GetStudentName() + " 수강생의 과목 회차 등급을 조회할 과목을 선택해 주세요.\n");
            for (Subject subject : students.get(selectedStudentId).GetSubjectList()) {
                String info = "[" + subject.GetSubjectId() + "." + subject.GetSubjectName() + "]";
                System.out.print(info);
            }
            i = foundSubject(selectedStudentId, sc.nextInt());
        } while (i == -1);

        int index = -1;
        do {
            System.out.println(students.get(selectedStudentId).GetStudentID() + "번 " + students.get(selectedStudentId).GetStudentName() + " 수강생의 " + students.get(selectedStudentId).GetSubjectList().get(i) + "과목 회차 등급을 조회할 회차를 선택해주세요.");
            System.out.print(Arrays.toString(students.get(selectedStudentId).getExamResultOrUnregistered(i)));
            System.out.print("\n조회할 회차의 번호를 입력하시오...");
            index = sc.nextInt();
            if (index > 10 || index < 1) {
                System.out.println("존재하지 않는 회차입니다.");
            }
        } while (index > 10 || index < 1);
        System.out.println(students.get(selectedStudentId).GetSubjectScoreList().get(i).getSubjectRank(index - 1));
        System.out.println("등급 조회 성공!");
    }

    //학생 정렬
    private static void sortSubjectList(ArrayList<Student> students) {
        Collections.sort(students, new Comparator<Student>() {
            public int compare(Student student1, Student student2) {
                return Integer.compare(student1.GetStudentID(), student2.GetStudentID());
            }
        });
    }

    private static int foundStudent(int inputNumber) {
        for (int i = 0; i < students.size(); i++) {
            Student student = students.get(i);
            if (student.GetStudentID() == inputNumber) {
                return i; //찾은경우 인덱스 반환
            }
        }
        System.out.println("잘못된 번호 입니다.");
        return -1; //없는 존재
    }

    private static int foundSubject(int studentid, int inputNumber) {
        Student student = students.get(studentid);
        ArrayList<Subject> subjectList = student.GetSubjectList();
        for (int i = 0; i < subjectList.size(); i++) {
            Subject subject = subjectList.get(i);
            if (subject.GetSubjectId() == inputNumber) {
                return i; //찾은 경우 인덱스 반환
            }
        }
        System.out.println("잘못된 번호 입니다.");
        return -1; //없는 존재
    }

    private static boolean isUnique(ArrayList<Subject> list, int number) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).GetSubjectId() == number) {
                return false;
            }
        }
        return true;
    }
}


// Student class -------------------

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class Student {
    private int StudentID;
    private String StudentName;
    private String Condition; // GREEN, YELLOW, RED 상태
    private ArrayList<Subject> subjectList; //과목정보만
    private ArrayList<SubjectScore> subjectScoreList; //과목정보 + 점수정보
    //학생 생성자
    public Student(int StudentID, String StudentName) {
        this.StudentID = StudentID;
        this.StudentName = StudentName;
        this.subjectList = new ArrayList<>();
    }

    public void SetStudentName(String studentName) {
        StudentName = studentName;
    }

    public void SetCondition(String Condition) {
        this.Condition = Condition;
    }

    public String GetCondition() {
        return this.Condition;
    }

    //과목 등록
    public void SetSubjectList(ArrayList<Subject> list) {
        this.subjectList.addAll(list);
        sortSubjectList();
        SetSubjectScoreList(subjectList);
    }
    //과목 정렬
    public void sortSubjectList() {
        Collections.sort(subjectList, new Comparator<Subject>() {
            public int compare(Subject subject1, Subject subject2) {
                return Integer.compare(subject1.GetSubjectId(), subject2.GetSubjectId());
            }
        });
    }
    //과목 + 점수 생성
    void SetSubjectScoreList(ArrayList<Subject> list){
        this.subjectScoreList = new ArrayList<>();
        for (Subject subject : list){
            SubjectScore a = new SubjectScore(subject);
            subjectScoreList.add(a);
        }
    }

    public void registerExamScore(int subjectindex, int index, int score) { // 점수 등록 메소드
        if (index >= 0 && index < 10 && subjectScoreList.get(subjectindex).getSubjectScore(index) == -1) { // 이미 점수가 입력된건 못 함
            subjectScoreList.get(subjectindex).setSubjectScore(index, score);
            RegisterExamRank(subjectindex, index, score);
        } else if (index < 0 || index >= 10) {
            System.out.println("유효하지 않은 인덱스입니다.");
        } else {
            System.out.println("이미 점수가 등록된 인덱스입니다.");
        }
    }

    public void updateExamScore(int subjectindex, int index, int newScore) { // 점수 수정 메소드
        if (index >= 0 && index < 10) {
            if (subjectScoreList.get(subjectindex).getSubjectScore(index) != -1) { // 점수가 이미 등록된 것 만 수정 가능
                subjectScoreList.get(subjectindex).setSubjectScore(index, newScore);
                RegisterExamRank(subjectindex, index, newScore);
                System.out.println("점수가 성공적으로 수정되었습니다.");
            } else {
                System.out.println("점수가 등록되지 않았습니다. 수정할 수 없습니다.");
            }
        } else {
            System.out.println("유효하지 않은 인덱스입니다.");
        }
    }

    public String[] getExamResultOrUnregistered(int subjectindex) { //점수 미등록, 등록 알려주는 메소드
        String[] results = new String[10];
        for (int i = 0; i < 10; i++) {
            if (subjectScoreList.get(subjectindex).getSubjectScore(i) == -1) {
                results[i] = (i+1) + ".미등록";
            } else {
                results[i] = (i+1) + String.valueOf("." + subjectScoreList.get(subjectindex).getSubjectScore(i));
            }
        }
        return results;
    }

    void RegisterExamRank(int subjectindex, int index, int score) {
        if(subjectScoreList.get(subjectindex).getSubjectIsrequried()){
            if(score<=100 && score>=95) subjectScoreList.get(subjectindex).setSubjectRank(index,'A');
            else if(score<=94 && score>=90) subjectScoreList.get(subjectindex).setSubjectRank(index,'B');
            else if(score<=89 && score>=80) subjectScoreList.get(subjectindex).setSubjectRank(index,'C');
            else if(score<=79 && score>=70) subjectScoreList.get(subjectindex).setSubjectRank(index,'D');
            else if(score<=69 && score>=60) subjectScoreList.get(subjectindex).setSubjectRank(index,'F');
            else if(score<=59) subjectScoreList.get(subjectindex).setSubjectRank(index,'N');
        }else{
            if(score<=100 && score>=90) subjectScoreList.get(subjectindex).setSubjectRank(index,'A');
            else if(score<=89 && score>=80) subjectScoreList.get(subjectindex).setSubjectRank(index,'B');
            else if(score<=79 && score>=70) subjectScoreList.get(subjectindex).setSubjectRank(index,'C');
            else if(score<=69 && score>=60) subjectScoreList.get(subjectindex).setSubjectRank(index,'D');
            else if(score<=59 && score>=50) subjectScoreList.get(subjectindex).setSubjectRank(index,'F');
            else if(score<=49) subjectScoreList.get(subjectindex).setSubjectRank(index,'N');
        }
    }
    //학생 아이디 반환
    public int GetStudentID(){ return StudentID; }
    //학생 이름 반환
    public String GetStudentName(){ return StudentName; }
    //학생 수강과목 반환
    public ArrayList<Subject> GetSubjectList(){ return subjectList; }

    public ArrayList<SubjectScore> GetSubjectScoreList(){ return subjectScoreList; }
}


// Subject class -------------------

public enum Subject{
    // 필수 과목
    JAVA(1,"Java", true),
    OBJECT_ORIENTED(2,"객체지향", true),
    SPRING(3,"Spring", true),
    JPA(4,"JPA", true),
    MYSQL(5,"MySQL", true),

    // 선택 과목
    DESIGN_PATTERN(6,"디자인 패턴", false),
    SPRING_SECURITY(7,"Spring_Security", false),
    REDIS(8,"Redis", false),
    MONGODB(9,"MongoDB", false);

    private final int subjectId;
    private final String subjectName;
    private final boolean isRequired; // 필수 여부

    // 생성자
    Subject(int subjectId, String subjectName, boolean isRequired) {
        this.subjectId = subjectId;
        this.subjectName = subjectName;
        this.isRequired = isRequired;
    }
    //과목 ID로 과목 찾기
    public static Subject findByCode(int subjectId) {
        Subject[] subjects = values();
        for (Subject subject : subjects) {
            if (subject.GetSubjectId() == subjectId) {
                return subject;
            }
        }
        return null;
    }

    // 과목 아이디 반환 메서드
    public int GetSubjectId() {
        return subjectId;
    }
    // 과목 이름 반환 메서드
    public String GetSubjectName() {
        return subjectName;
    }
    // 필수 여부 반환 메서드
    public boolean GetisRequired() {
        return isRequired;
    }
}
//사용 방법 Subject."enum명"."메소드명";



// SubjectScore class -------------------

import java.util.Arrays;

public class SubjectScore {
    private int[] scores;
    private Subject subject;
    private char[] Rank;
    public SubjectScore(Subject subject) {
        this.subject = subject;
        scores = new int[]{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
        Rank = new char[]{'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'};
    }
    public int getSubjectId(){ // 과목 아이디 호출
        return subject.GetSubjectId();
    }
    public String getSubjectName(){ // 과목 아이디 호출
        return subject.GetSubjectName();
    }
    public boolean getSubjectIsrequried(){ // 필수 여부
        return subject.GetisRequired();
    }

    public int getSubjectScore(int index){
        return scores[index];
    }
    public char getSubjectRank(int index){
        return Rank[index];
    }
    public void setSubjectScore(int index, int score){
        scores[index] = score;
    }
    public void setSubjectRank(int index, char rank){
        Rank[index] = rank;
    }
}





profile
야옹

0개의 댓글