-
[Java 실습] 성적 관리 프로그램Java/Java 실습 2022. 7. 12. 09:32
성적 관리 프로그램은 입력, 출력, 검색, 삭제, 종료가 가능하다.
입력 : 전체 입력
출력 : 전체 출력, 개인 출력
검색 : 특정 점수 이상의 총점을 받은 학생 출력
삭제 : 삭제하고 싶은 학생의 이름이 있다면 삭제
종료 : 시스템 종료
Student.java
package Example; // 성적 관리 프로그램 // 학생 이름, 국, 영, 수, 총점, 평균 class Student{ String name; int kor; int eng; int mat; int total; float avg; public Student() {}; public Student(String name, int kor, int eng, int mat) { this.name = name; this.kor = kor; this.eng = eng; this.mat = mat; setTotal(); setAvg(); } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setKor(int kor) { this.kor = kor; } public int getKor() { return kor; } public void setEng(int eng) { this.eng = eng; } public int getEng() { return eng; } public void setMat(int mat) { this.mat = mat; } public int getMat() { return eng; } public void setTotal() { this.total = kor + eng + mat; } public int getTotal() { return total; } public void setAvg() { this.avg = (kor + eng + mat) / 3.f; } public float getAvg() { return avg; } public void disp() { System.out.println("이름 : " + getName()); System.out.println("국어 점수 : " + getKor()); System.out.println("영어 점수 : " + getEng()); System.out.println("수학 점수 : " + getMat()); System.out.println("총점 : " + getTotal()); System.out.println("평균 : " + getAvg()); } }
main.java
package Example; import java.util.Arrays; import java.util.InputMismatchException; import java.util.Scanner; // 성적관리 프로그램 // 1.입력, 2.출력, 3.검색, 4.삭제, 5.종료 // 출력 : 전체 출력, 개인 출력 // 검색 : 총점이 몇점 이상인 학생 검색 // 삭제 : 학생의 이름이 맞다면 삭제 // 1.이름, 2.국어 점수, 3.영어 점수, 4.수학 점수 public class main { public static void main(String[] args) { int num=0; // 시작 인덱스 번호 Student []st = new Student[5]; // 배열 크기 = 5 while(true) { try { // InputMismatchException 예외 처리 Scanner sc = new Scanner(System.in); System.out.println("1.입력, 2.출력, 3.검색, 4.삭제, 5.종료"); int user_input = sc.nextInt(); switch(user_input) { // 입력 case 1: System.out.print("이름을 입력하세요."); String name = sc.next(); System.out.print("국어 점수를 입력하세요."); int korScore = sc.nextInt(); System.out.print("영어 점수를 입력하세요."); int engScore = sc.nextInt(); System.out.print("수학 점수를 입력하세요."); int matScore = sc.nextInt(); st[num] = new Student(name, korScore, engScore, matScore); num++; break; // 출력 case 2: System.out.println("1.전체 출력, 2.개인 출력"); int select1 = sc.nextInt(); switch(select1) { case 1: System.out.println("전체 출력"); for(int i=0; i<num; i++) { // disp() 메소드를 통해 출력 st[i].disp(); } break; case 2: System.out.println("개인 출력"); System.out.print("찾고싶은 학생의 이름을 입력하세요. : "); String stdName = sc.next(); for(int i=0; i<num; i++) { // 이름이 같으면 출력 if(st[i].getName().equals(stdName)) { st[i].disp(); } } break; } break; // 검색 case 3: System.out.println("몇점 이상의 총점을 보고싶으세요?"); int score = sc.nextInt(); for(int i=0; i<num; i++) { // 총점이 입력값보다 높으면 출력 if(st[i].getTotal() >= score) { st[i].disp(); } } break; case 4: System.out.println("삭제하고 싶은 학생의 이름을 입력하세요. : "); String stdName = sc.next(); for(int i=0; i<num; i++) { if(st[i].getName().equals(stdName)) { st[i] = null; } } // 종료 case 5: System.exit(-1); // scanner 종료 // 오류 default: // 나머지 case System.out.print("잘못된 입력입니다. 다시 입력하세요."); } // 입력 데이터 타입이 다르면 예외처리 // 오류 문구가 뜨지 않는 StackTrace라 사용해 봄 } catch(InputMismatchException e) { e.fillInStackTrace(); } } } }
'Java > Java 실습' 카테고리의 다른 글
[Java 실습] 이진 검색 재귀 함수 응용 (0) 2022.07.13 [Java 실습] Baby-gin (1) 2022.07.12 [Java 실습] 정돈된 수와 개수 출력하기 (0) 2022.07.11 [Java 실습] 입력한 숫자 전체출력(순열) + 가장 작은 수 반환 (0) 2022.07.11 [Java 실습] 로또 프로그램 만들기 (0) 2022.07.11