이전 학과 프로그램 내용을 습득해야 알 수 있는 내용이다. jihyeong-ji99hy99.tistory.com/86 를 보고 오도록 하자.
점수 기능 추가하기
1) 데이터 결정 : 학생의 점수 이므로 SRP 원칙에 의해 학생 클래스에서 담당
2) 기능 추가 : 점수 입력, 출력, 검색 기능
Department 클래스
- void readScores() 메서드 : 학생 이름 출력 후, 점수 입력
- void searchScore() 메서드 : 점수 구간에 해당하는 학생 출력
// Department 클래스
void run(){
readAll();
printAll();
inputScore();
}
void inputScore(){
System.out.println("학생 점수 입력");
for(Student st : studentList){
st.inputScores(s);
}
}
// Student 클래스
int score;
void inputScores(Scanner s){
System.out.printf("%s : ", name); // 입력 대신 score=randnextInt(100)+1;
score = s.nextInt();
}
// equals 말고 사용할 수 있는 메서드 >> 부분동일
string(변수).contains(kwd);
string(변수).startsWith(kwd);
string(변수).endsWith(kwd);
기능 묶기
// Department 클래스
void run() {
readAll();
int menu;
while(true) {
System.out.print("(1) 전체 출력 (2) 점수 입력 ");
System.out.print("(3) 검색, (0) 종료");
menu = s.nextInt();
switch(menu) {
case 1: printAll(); break;
case 2: inputScores(); break;
case 3: searchMenu(); break;
default: break;
}
}
}
void searchMenu() {
int menu;
while(true) {
System.out.print("(1) 학번/이름 검색 (2) 통합검색 ");
System.out.print("(3) 점수 검색 (0) 종료");
menu = s.nextInt();
switch(menu) {
case 1:
case 2: search(); break;
case 3: inputScores(); break;
default: break;
}
}
}
** switch문은 값이 몇개 안되고, 조건들끼리 겹치는 것이 없을 때 사용한다.
if문을 여러개 사용하는 것보다 효율적이고, 가독성이 좋다.
'Backend > JAVA' 카테고리의 다른 글
[JAVA] Store 프로젝트 (0) | 2020.10.23 |
---|---|
[JAVA] 학과 프로그램 #5 - 강의 수강 기능 추가(+파일) (0) | 2020.10.03 |
[JAVA] 학과 프로그램 #3 - 검색 기능 추가하기 (0) | 2020.09.20 |
[JAVA] 학과 프로그램 #2 - n개의 객체 입력하기 (0) | 2020.09.20 |
[JAVA] 학과 프로그램 #1 - 기본 클래스 만들기 (0) | 2020.09.20 |
댓글