1. 생성자 만들기
// 생성자 만들기
Student() {}
Student(String no, String name, int kor, int eng, int mat) {
this.no = no;
this.name = name;
this.kor = kor;
this.eng = eng;
this.mat = mat;
}
2. 조회 기능 구현
void list() { // 조회 기능 구현
System.out.println("조회 기능 구현");
System.out.printf(" 학번 \t 이름 \t 국어 \t 영어 \t 수학 \t 총점 \t 평균 %n");
System.out.printf("======================================================%n");
for (int i = 0; i < students.length; i++) {
if (students[i] != null) {
System.out.printf(" %5s%5s \t %3d \t %3d \t %3d \t %3d \t %2.2f %n",
students[i].no, students[i].name,
students[i].kor, students[i].eng, students[i].mat,
students[i].sum(), students[i].avg());
} else
break;
}
}
3. 등록 기능 구현
void register() { // 등록 기능 구현
// 1. 데이터 입력 받기
System.out.print("학번 >");
String no = StudentEx.scanner.nextLine();
System.out.print("이름 >");
String name = StudentEx.scanner.nextLine();
System.out.print("국어 >");
int kor = Integer.parseInt(StudentEx.scanner.nextLine());
System.out.print("영어 >");
int eng = Integer.parseInt(StudentEx.scanner.nextLine());
System.out.print("수학 >");
int mat = Integer.parseInt(StudentEx.scanner.nextLine());
// 2. 입력 받은 데이터를 학생 타입의 인스턴스 생성
Student student = new Student(no, name, kor, eng, mat);
// 3. students 배열의 null 위치에 대입
for (int j = 0 ; j < students.length ; j++) {
if (students[j] == null) {
students[j] = student;
System.out.println("정상 등록 되었습니다.");
break;
}
}
}
- class StudentEx
package student;
import java.util.Scanner;
public class StudentEx {
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
StudentService service = new StudentService();
// 1. 목록 조회 2. 학생 등록 3. 학생 정보 수정 4. 학생 삭제 5. 종료
for (boolean b = true ; b ;) {
System.out.println("1. 목록 조회 2. 학생 등록 3. 학생 정보 수정 4. 학생 삭제 5. 종료");
int input = Integer.parseInt(scanner.nextLine());
switch (input) {
case 1:
System.out.println("목록 조회입니다.");
service.list();
break;
case 2:
System.out.println("학생 등록입니다.");
service.register();
break;
case 3:
System.out.println("학생 정보 수정입니다.");
break;
case 4:
System.out.println("학생 삭제입니다.");
break;
case 5:
System.out.println("종료합니다.");
// return;
b = false;
break;
default:
System.out.println("올바른 번호를 입력하세요.");
break;
}
}
scanner.close();
}
}
- class Student
package student;
// VO : Value Object : 값을 저장할 목적의 객체
public class Student {
// 학번, 이름, 국어, 영어, 수학
String no;
String name;
int kor;
int eng;
int mat;
// 생성자 만들기
Student() {}
Student(String no, String name, int kor, int eng, int mat) {
this.no = no;
this.name = name;
this.kor = kor;
this.eng = eng;
this.mat = mat;
}
// 총점, 평균
int sum () {
return kor + eng + mat;
}
double avg () {
return (int)(sum() / 3d * 100) / 100d;
}
}
- class StudentService
package student;
// 기능 담당
public class StudentService {
Student[] students = new Student[10]; // 학생들
{
String[] names = { "김경보", "김동엽", "김상현", "김승종", "김예찬", "김경보", "김태윤" };
for (int i = 0; i < names.length; i++) {
students[cnt] = new Student(22000 + cnt + 1 + "", names[cnt], getScore(), getScore(), getScore());
cnt++;
}
System.out.println("임시 데이터 초기화 완료");
}
// 1. 조회하기
void list() { // 조회 기능 구현
System.out.println("조회 기능 구현");
System.out.printf(" 학번 \t 이름 \t 국어 \t 영어 \t 수학 \t 총점 \t 평균 %n");
System.out.printf("======================================================%n");
for (int i = 0; i < students.length; i++) {
if (students[i] != null) {
System.out.printf(" %5s%5s \t %3d \t %3d \t %3d \t %3d \t %s %n",
students[i].no, students[i].name,
students[i].kor, students[i].eng, students[i].mat,
students[i].sum(), students[i].avg()+"");
} else
break;
}
}
// 2. 등록하기
void register() { // 등록 기능 구현
System.out.print("학번 >");
String no = StudentEx.scanner.nextLine();
System.out.print("이름 >");
String name = StudentEx.scanner.nextLine();
System.out.print("국어 >");
int kor = Integer.parseInt(StudentEx.scanner.nextLine());
System.out.print("영어 >");
int eng = Integer.parseInt(StudentEx.scanner.nextLine());
System.out.print("수학 >");
int mat = Integer.parseInt(StudentEx.scanner.nextLine());
Student student = new Student(no, name, kor, eng, mat);
for (int j = 0 ; j < students.length ; j++) {
if (students[j] == null) {
students[j] = student;
System.out.println("정상 등록 되었습니다.");
break;
}
}
}
// 3. 수정하기
// 4. 삭제하기
}
}