24.08.05

윤지현·2024년 8월 5일

TIL

목록 보기
33/75
  • 기존에 있는 것을 수정할 것은 별로 없지만 오류 메시지가 뜰 때 이를 강조하기 위해 다른 팀원님께서 하셨던 대로 사용했다.
 // Reset color
    public static final String ANSI_RESET = "\u001B[0m";
    // Red color
    public static final String ANSI_RED = "\u001B[31m";

잘 강조되어서 나타난다.

그 다음에 다른 팀원들이 작성한 코드들을 merge해서 잘 합쳤다.
이제는 점수를 입력, 조회, 수정, 과목별 평균, 특정 상태 수강생들의 필수 과목 평균 등급을 조회 클래스에 기능을 넣어야 한다.

먼저 점수를 등록하는 AddScore의 내용을 수정했다.

  • 수정해야 할 목록
-------------------------------------------------------
 🔻 등록된 수강생 고유번호
    - 수강생 고유번호가 이미 등록되어 있는지 확인
 -------------------------------------------------------
  🔻 등록된 과목 고유번호
    - 과목 고유번호가 이미 등록되어 있는지 확인
 -------------------------------------------------------
  🔻 회차에 점수가 이미 등록되어 있는지 확인
    - 해당 과목의 특정 회차가 이미 점수가 등록되어있으면 
    	추가로 등록 불가능
 -------------------------------------------------------
// 수강생 고유 번호 입력 및 유효성 검사
        System.out.print("학생 고유 번호 : ");
        int stdNo = sc.nextInt();
        sc.nextLine();

        // 학생 고유 번호 유무 확인
        Student student = (Student) studentMap.get(stdNo);
        if (student == null) {
            System.out.println("해당하는 학생이 존재하지 않습니다.");
            return;
        }
	public boolean hasSubject(int subId) {
		return subList.stream().anyMatch(subject -> subject.getSubId() == subId);
    }
// 과목 고유 번호 입력 및 유효성 검사
        System.out.print("과목 고유 번호 : ");
        int subNo = sc.nextInt();
        sc.nextLine();

        // 과목 고유 번호 유무 확인
        if (!student.hasSubject(subNo)) {
            System.out.println("해당하는 과목이 존재하지 않습니다.");
            return;
        }
// 점수 중복 검사
        ScoreKey scoreKey = new ScoreKey(subNo, stdNo, term);
        if (scoreMap.containsKey(scoreKey)) {
            System.out.println("해당 과목의 회차 점수가 이미 등록되어 있습니다.");
            return;
        }

또한 점수를 수정하는 ReplaceScore도 수정하였다.

  • 수정해야 할 목록
-------------------------------------------------------
 🔻 등록된 수강생 고유번호
    - 수강생 고유번호가 이미 등록되어 있는지 확인
 -------------------------------------------------------
  🔻 등록된 과목 고유번호
    - 과목 고유번호가 이미 등록되어 있는지 확인
 -------------------------------------------------------
  🔻 회차에 점수 유무 확인
    - 해당 과목의 특정 회차에 점수가 없으면 수정 불가
 -------------------------------------------------------
// 수강생 고유 번호 입력 및 유효성 검사
        System.out.print("학생 고유 번호 : ");
        int stdNo = sc.nextInt();
        sc.nextLine();

        // 학생 고유 번호 유무 확인
        Student student = (Student) studentMap.get(stdNo);
        if (student == null) {
            System.out.println("해당하는 학생이 존재하지 않습니다.");
            return;
        }
// 과목 고유 번호 입력 및 유효성 검사
        System.out.print("과목 고유 번호 : ");
        int subNo = sc.nextInt();
        sc.nextLine();

        // 과목 고유 번호 유무 확인
        if (!student.hasSubject(subNo)) {
            System.out.println("해당하는 과목이 존재하지 않습니다.");
            return;
        }
// 기존 점수 확인
        ScoreKey scoreKey = new ScoreKey(subNo, stdNo, term);
        Score existScore = scoreMap.get(scoreKey);
        if (existScore == null) {
            System.out.println("해당 과목의 회차 점수가 없습니다.");
            return;
        }

위에처럼 입력하니 잘 실행이 된다!

  • 후기
    아직 다른 팀원들과 점수 관련 코드들을 합치진 않아서 이야기를 해봐야 할 것같다.
profile
첫 시작

0개의 댓글