실습
package constructor;
public class MemberMain {
public static void main(String[] args) {
MemberService mem = new MemberService();
mem.display();
}
}
MemberMain 클래스
package constructor;
import java.util.Scanner;
public class MemberService {
Scanner sc = new Scanner(System.in);
MemberDTO DTO = new MemberDTO();
// 메인 메뉴 출력
public void display() {
while(true) {
System.out.println("=== 학생관리 프로그램 ===");
System.out.println(" 1. 학생 등록");
System.out.println(" 2. 학생 보기");
System.out.println(" 3. 정보 수정");
System.out.println(" 4. 회원 탈퇴");
System.out.println("========================");
System.out.print("번호를 선택하세요 >>> ");
int choice = sc.nextInt();
switch(choice) {
case 1 : createStd(); break;
case 2 : showStd(); break;
case 3 : changeStd(); break;
case 4 : removeStd(); break;
default :
System.out.println("!!!입력 오류!!!");
break;
}
}
}
// 학생 정보 입력
private void createStd() {
System.out.print("이름 입력 >>> ");
String name = sc.next();
System.out.print("국어 성적 입력 : ");
int kor = sc.nextInt();
System.out.print("영어 성적 입력 : ");
int eng = sc.nextInt();
System.out.print("수학 성적 입력 : ");
int math = sc.nextInt();
DTO = new MemberDTO(name, kor, eng, math);
int sum = getSum(kor, eng, math);
char grade = getGrade(getSum(kor, eng, math));
DTO.setSum(sum);
DTO.setGrade(grade);
}
// 합 구하기
private int getSum(int kor, int eng, int math) {
return (kor + eng + math);
}
// 평균 구하기
private char getGrade(int sum) {
double aver = sum/3.0;
if (aver >= 90) return 'A';
else if (aver >= 80) return 'B';
else return 'c';
}
// 학생 정보 출력
private void showStd() {
if ( DTO.getName() != null) {
System.out.println("========= 학생 정보 =========");
System.out.println("이름 : " + DTO.getName());
System.out.println("국어 : " + DTO.getKor());
System.out.println("영어 : " + DTO.getEng());
System.out.println("수학 : " + DTO.getMath());
System.out.println("합 : " + DTO.getSum());
System.out.println("등급 : " + DTO.getGrade());
System.out.println("============================");
System.out.println();
}
else System.out.println("학생 정보를 등록 후 이용하세요.\n");
}
// 점수 변경
private void changeStd() {
if (DTO.getName() != null) {
System.out.println("\n===== 정보 수정 =====");
System.out.println("1. 이름 수정");
System.out.println("2. 국어 점수 수정");
System.out.println("3. 영어 점수 수정");
System.out.println("4. 수학 점수 수정");
System.out.println("====================");
System.out.print("선택하세요 >>> ");
int choice = sc.nextInt();
switch(choice) {
case 1 : changeName(); break;
case 2 : changeKor(); break;
case 3 : changeEng(); break;
case 4 : changeMath(); break;
case 5 :
System.out.println("!!! 입력 오류 !!!\n");
break;
}
System.out.println("!!! 변경 완료 !!!\n");
DTO.setSum(DTO.getKor() + DTO.getEng() + DTO.getMath());
DTO.setGrade(getGrade(DTO.getSum()));
}else System.out.println("학생 정보를 등록 후 이용하세요.\n");
}
// 이름 변경
private void changeName() {
System.out.print("변경할 이름 입력 : ");
String name = sc.next();
DTO.setName(name);
}
// 국어 변경
private void changeKor() {
System.out.print("국어 점수 입력 : ");
int kor = sc.nextInt();
DTO.setKor(kor);
}
// 영어 변경
private void changeEng() {
System.out.print("영어 점수 입력 : ");
int eng = sc.nextInt();
DTO.setMath(eng);
}
// 수학 변경
private void changeMath() {
System.out.print("수학 점수 입력 : ");
int math = sc.nextInt();
DTO.setMath(math);
}
// 학생 탈퇴
private void removeStd() {
if(DTO.getName()!=null) {
DTO = new MemberDTO();
System.out.println("!!!회원정보 초기화 완료!!!\n");
} else System.out.println("등록된 회원이 없습니다.\n");
}
}
MemberService 클래스
package constructor;
public class MemberDTO {
private String name;
private int kor, eng, math, sum;
private char grade;
public String getName() {
return name;
}
public MemberDTO(String name, int kor, int eng, int math){
this.name = name;
this.kor = kor;
this.eng = eng;
this.math = math;
}
public MemberDTO() {}
// getter / setter 생성
public void setName(String name) {
this.name = name;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
public int getMath() {
return math;
}
public void setMath(int math) {
this.math = math;
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
public char getGrade() {
return grade;
}
public void setGrade(char grade) {
this.grade = grade;
}
}
MemberDTO 클래스
728x90
'국비지원_핀테크' 카테고리의 다른 글
12일차_ [java] 상속 ( Inheritance ) (0) | 2024.02.20 |
---|---|
11일차_ [java] 미니 실습 ( 사용 시간 계산기, 스탑워치 ) (0) | 2024.02.19 |
11일차_ [java] Default 접근 제한자 (0) | 2024.02.19 |
11일차_ [java] 유용한 클래스 ( 시간 출력, 코드 지연 ) (1) | 2024.02.19 |
11일차_ [java] DTO ( Data Transfer Object ) (0) | 2024.02.19 |