// 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;
}
위에처럼 입력하니 잘 실행이 된다!