public static void main(String[] args) {
/*
학생 성적 관리
String student[][];
메뉴 ---
1. 학생 정보 추가 insert (예: 홍길동, 나이, 영어, 수학)
2. 학생 정보 삭제 delete
3. 학생 정보 검색 search
4. 학생 정보 수정 update
5. 학생 정보 모두 출력
6. 과목의 총점 -> 1. 영어 2.수학
7. 과목의 평균
8. 성적순으로 정렬
9. 데이터 저장
*/
Scanner sc = new Scanner(System.in);
String student[][] = new String [20][4];
int choice;
for (int i = 0; i < student.length; i++) {
for (int j = 0; j < student[i].length; j++) {
student[i][j] = "";
}
}
while(true) {
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.println("6. 과목의 총점 계산");
System.out.println("7. 과목의 평균 계산");
System.out.println("메뉴 번호를 입력해 주십시오");
System.out.println(">>>");
choice = sc.nextInt();
switch(choice) {
case 1://학생추가
insert(student);
break;
case 2:
delete(student);
break;
case 3:
search(student);
break;
case 4:
update(student);
break;
case 5:
print(student);
break;
case 6:
sum(student);
break;
case 7:
sum(student);
break;
}
}
}
//=create
static void insert(String student[][]) {// 학생 정보 추가
Scanner sc = new Scanner(System.in);
int findIndex = -1;
for (int i = 0; i < student.length; i++) {
if(student[i][0].equals("")) { //0 1 2
findIndex = i;
break;
}
}
System.out.println("findIndex:"+findIndex);
System.out.println("이름 : ");
String name = sc.next();
System.out.println("나이 :");
String age = sc.next();
System.out.println("영어 : ");
String eng = sc.next();
System.out.println("수학 : ");
String math = sc.next();
student[findIndex][0] = name;
student[findIndex][1] = age;
student[findIndex][2] = eng;
student[findIndex][3] = math;
System.out.println("입력완료"+student[findIndex][0]);
}
/////////////////////delete
static void delete(String student[][]) {
Scanner sc = new Scanner(System.in);
System.out.println("삭제 할 학생의 이름 : ");
String name = sc.next();
int findIndex = -1;
for (int i = 0; i < student.length; i++) {
if(name.equals(student[i][0])) {
findIndex = i;
break;
}
}
if(findIndex == -1) {
System.out.println("삭제할 데이터를 찾을 수 없습니다");
}else {
for (int i = 0; i < student[findIndex].length; i++) {
student[findIndex][i] = "";
}
System.out.println("성공적으로 데이터를 삭제하였습니다");
}
}
///////////////////////////////search
static void search(String student[][]) {
Scanner sc = new Scanner(System.in);
System.out.println("검색 할 학생의 이름 : ");
String name = sc.next();
int findIndex = -1;
for (int i = 0; i < student.length; i++) {
if(name.equals(student[i][0])) {
findIndex = i;
break;
}
}
if(findIndex == -1) {
System.out.println("데이터를 찾을 수 없습니다");
}else {
for (int i = 0; i < student.length; i++) {
if(!student[i][0].equals("")) { //0 1 2
for (i = 0; i < student.length; i++) {
for (int j = 0; j < student[i].length; j++) {
System.out.println(student[i][j]);
}
}
}
}
}
}
/////////////////////////////////update
static void update(String student[][]) {
Scanner sc = new Scanner(System.in);
System.out.println("수정 할 학생의 이름 : ");
String name = sc.next();
int findIndex = -1;
for (int i = 0; i < student.length; i++) {
if(name.equals(student[i][0])) {
findIndex = i;
break;
}
}
if(findIndex == -1) {
System.out.println("데이터를 찾을 수 없습니다");
}else {
System.out.println("findIndex:"+findIndex);
System.out.println("이름 : ");
String newName = sc.next();
System.out.println("나이 :");
String age = sc.next();
System.out.println("영어 : ");
String eng = sc.next();
System.out.println("수학 : ");
String math = sc.next();
student[findIndex][0] = newName;
student[findIndex][1] = age;
student[findIndex][2] = eng;
student[findIndex][3] = math;
System.out.println("입력완료"+student[findIndex][0]);
}
System.out.println("성공적으로 데이터를 수정하였습니다");
}
/////////////////////////////////////////학생 정보 모두 출력
static void print(String student[][]) {
for (int i = 0; i < student.length; i++) {
System.out.print(student[i][0]);
System.out.print(student[i][1]);
System.out.print(student[i][2]);
System.out.println(student[i][3]);
}
}
////////////////////////////////////////과목의 총점 -> 1. 영어 2.수학
static void sum(String student[][]) {
Scanner sc = new Scanner(System.in);
int engSum = 0;
int mathSum = 0;
System.out.println("과목의 총점을 계산합니다. 1.영어 2. 수학");
System.out.println(">>>");
int choiceSum = sc.nextInt();
//문자 점수를 숫자로 변환
int studentCount[][] = new int[student.length][2];
for (int i = 0; i < studentCount.length; i++) {
studentCount[i][0] = Integer.parseInt(student[i][2]);//eng
studentCount[i][1] = Integer.parseInt(student[i][3]);//math
}
if (choiceSum == 1) {
for (int i = 0; i < studentCount.length; i++) {
mathSum += studentCount[i][0];
}
System.out.println("영어 총점은 : " + engSum);
}else if(choiceSum == 2) {
for (int i = 0; i < studentCount.length; i++) {
mathSum += studentCount[i][1];
}
System.out.println("수학 총점은 : " + mathSum);
}
//student[findIndex][1] = age;
//student[findIndex][2] = eng;
}