본문 바로가기

국비지원_핀테크

11일차_ [java] 미니 실습

 

 

 

 

 

실습

미니 실습

 

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