Q. 코드 작성!!
> 학생 관리
class Student {
int id;
String name;
int LanguageScore;
int EnglishScore;
int MathScore;
double average() {
return ((LanguageScore + EnglishScore + MathScore) / 3.0 * 100) / 100;
}
int TotalScore() {
return LanguageScore + EnglishScore + MathScore;
}
}
package chap06;
import java.util.*;
public class StudentEx {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Student[] st = new Student[10]; // 크기 10만큼 Student 배열 선언
for(int i = 0; i < st.length; i++) {
st[i] = new Student();
} // 초기값 null로 초기화
st[0] = new Student();
st[0].id = 20197028;
st[0].name = "김승종";
st[0].LanguageScore = 61;
st[0].EnglishScore = 85;
st[0].MathScore = 99;
int menu = 0;
int count;
int search;
while(menu != 5) {
// 인터페이스
System.out.println("1. 목록 조회");
System.out.println("2. 학생 등록");
System.out.println("3. 학생 정보 수정");
System.out.println("4. 학생 삭제");
System.out.println("5. 종료");
System.out.println();
System.out.println("번호를 입력해주세요. > ");
menu = 0;
boolean selectMenu = menu >= 1 && menu <= 5;
while(!selectMenu) {
menu = Integer.parseInt(sc.nextLine());
selectMenu = menu >= 1 && menu <= 5;
if(!selectMenu)
System.out.print("다시 입력해주세요. > ");
}
switch(menu) {
case 1:
System.out.println("===========================");
count = 0;
for(int i = 0; i < st.length; i++) {
if(st[i].name != null) {
System.out.printf("학번 : %d, 이름 : %s, 국어점수 : %d, 영어점수 : %d, 수학점수: %d, 총점수 : %d, 평균점수 : %.2f \n",
st[i].id, st[i].name, st[i].LanguageScore, st[i].EnglishScore, st[i].MathScore, st[i].TotalScore(), (float)st[i].average());
count++;
}
}
if(count > 0)
System.out.println("총 " + count + "명 학생이 등록되어있습니다.");
else
System.out.println("등록되어 있는 학생이 없습니다.");
System.out.println("===========================");
System.out.println();
System.out.println();
break;
case 2:
System.out.println("===========================");
count = 0;
for(int i = 0; i < st.length; i++) {
if(st[i].name == null) {
st[i] = new Student();
System.out.print("학번을 입력하세요. > ");
st[i].id = Integer.parseInt(sc.nextLine());
System.out.print("이름을 입력하세요. > ");
st[i].name = sc.nextLine();
System.out.print("국어점수를 입력하세요. > ");
st[i].LanguageScore = Integer.parseInt(sc.nextLine());
System.out.print("영어점수를 입력하세요. > ");
st[i].EnglishScore = Integer.parseInt(sc.nextLine());
System.out.print("수학점수를 입력하세요. > ");
st[i].MathScore = Integer.parseInt(sc.nextLine());
System.out.println();
System.out.println("입력하신 학생의 정보는");
System.out.printf("학번 : %d, 이름 : %s, 국어점수 : %d, 영어점수 : %d, 수학점수: %d\n",
st[i].id, st[i].name, st[i].LanguageScore, st[i].EnglishScore, st[i].MathScore);
System.out.println("입니다.");
count++;
break;
}
}
if(count == 0) {
System.out.println("현재 저장할 수 있는 공간이 없습니다.");
System.out.println("저장공간 추가 및 데이터를 삭제 후 이용해주세요.");
}
System.out.println("===========================");
break;
case 3:
System.out.println("===========================");
count = 0;
System.out.print("수정하려는 학생의 학번을 입력해주세요. > ");
search = Integer.parseInt(sc.nextLine());
for(int i = 0; i < st.length; i++) {
if(st[i].id == search) {
System.out.println("입력되어있는 학생의 정보는");
System.out.printf("학번 : %d, 이름 : %s, 국어점수 : %d, 영어점수 : %d, 수학점수: %d\n",
st[i].id, st[i].name, st[i].LanguageScore, st[i].EnglishScore, st[i].MathScore);
System.out.println("입니다.");
System.out.println("수정합니다.");
System.out.println();
System.out.print("학번을 입력하세요. > ");
st[i].id = Integer.parseInt(sc.nextLine());
System.out.print("이름을 입력하세요. > ");
st[i].name = sc.nextLine();
System.out.print("국어점수를 입력하세요. > ");
st[i].LanguageScore = Integer.parseInt(sc.nextLine());
System.out.print("영어점수를 입력하세요. > ");
st[i].EnglishScore = Integer.parseInt(sc.nextLine());
System.out.print("수학점수를 입력하세요. > ");
st[i].MathScore = Integer.parseInt(sc.nextLine());
System.out.println();
System.out.println("수정한 학생의 정보는");
System.out.printf("학번 : %d, 이름 : %s, 국어점수 : %d, 영어점수 : %d, 수학점수: %d\n",
st[i].id, st[i].name, st[i].LanguageScore, st[i].EnglishScore, st[i].MathScore);
System.out.println("입니다.");
count++;
break;
}
}
if(count == 0)
System.out.println("입력하신 학번과 일치하는 학생은 데이터에 없습니다.");
System.out.println();
System.out.println("===========================");
break;
case 4:
System.out.println("===========================");
count = 0;
System.out.print("삭제하려는 학생의 학번을 입력해주세요. > ");
search = Integer.parseInt(sc.nextLine());
for(int i = 0; i < st.length; i++) {
if(st[i].id == search) {
System.out.println("입력되어있는 학생의 정보는");
System.out.printf("학번 : %d, 이름 : %s, 국어점수 : %d, 영어점수 : %d, 수학점수: %d\n",
st[i].id, st[i].name, st[i].LanguageScore, st[i].EnglishScore, st[i].MathScore);
System.out.println("입니다.");
System.out.println("삭제합니다.");
st[i] = new Student();
count++;
break;
}
}
if(count == 0)
System.out.println("입력하신 학번과 일치하는 학생은 데이터에 없습니다.");
System.out.println();
System.out.println("===========================");
break;
case 5:
System.out.println("종료합니다.");
break;
} // switch 종료
} // while문 종료
sc.close();
} // main end
} // class end
댓글