학원/실습

*11일차 실습

pringspring 2022. 2. 7. 22:45

*사원관리하는 프로그램을 작성

클래스명 : com.oop.emp.model.Employee

- 사원정보 관리용 클래스
- Field 작성 : 캡슐화 반드시 적용함

사번 : - empNo:int
이름 : - empName:String
소속부서 : - dept:String
직급 : - job:String
나이 : - age:int
성별 : - gender:char
급여 : - salary:int
보너스포인트 : - bonusPoint:double
핸드폰 : - phone:String
주소 : - address:String

Employee 클래스의 메소드 작성
1. 키보드입력용 메소드 : empInput()
2. emp객체 모든 필드 출력용 메소드 : empOutput()
3. getter/setter메소드

* 실행용 클래스 : com.oop.emp.run.EmpTest
메뉴작성 : 메소드 작성

=>메뉴 화면의 예
public void mainMenu(){}
******* 사원 정보 관리 프로그램 ************

1. 새 사원 정보 입력  => empInput() 메소드 실행
2. 사원 정보 삭제 => 사원객체 참조변수에 null대입할  것.
3. 사원정보 출력 =>  empOutput() 메소드 실행
9. 끝내기
********************************************

 

-사원정보 관리용 클래스

package com.oop.emp.model;

import java.util.Scanner;

public class Employee {
	private int empNo;
	private String empName;
	private String dept;
	private String job;
	private int age;
	private char gender;
	private int salary;
	private double bonusPoint;
	private String phone;
	private String address;

	public void empInput() {
		Scanner sc = new Scanner(System.in);
		
		System.out.print("사번: ");
		this.empNo=sc.nextInt();
		System.out.print("이름: ");
		this.empName=sc.next();
		System.out.print("소속부서: ");
		this.dept=sc.next();
		System.out.print("직급: ");
		this.job=sc.next();
		System.out.print("나이: ");
		this.age=sc.nextInt();
		System.out.print("성별: ");
		this.gender=sc.next().charAt(0);
		System.out.print("급여: ");
		this.salary=sc.nextInt();
		System.out.print("보너스 포인트: ");
		this.bonusPoint=sc.nextDouble();
		System.out.print("핸드폰: ");
		this.phone=sc.next();
		System.out.print("주소: ");
		this.address=sc.next();
	}
	
	public void empOutput() {
		System.out.printf("사번: %d%n",this.empNo);
		System.out.printf("이름: %s%n",this.empName);
		System.out.printf("소속부서: %s%n",this.dept);
		System.out.printf("직급: %s%n",this.job);
		System.out.printf("나이: %d%n",this.age);
		System.out.printf("성별: %c%n",this.gender);
		System.out.printf("급여: %d%n",this.salary);
		System.out.printf("보너스포인트: %.2f%n",this.bonusPoint);
		System.out.printf("핸드폰: %s%n",this.phone);
		System.out.printf("주소: %s%n",this.address);
	}
	
	public void setEmpNo(int empNo) {
		this.empNo=empNo;
	}
	
	public void setEmpName(String empName) {
		this.empName = empName;
	}
	public void setDept(String dept) {
		this.dept = dept;
	}
	
	public void setJob(String job) {
		this.job = job;
	}
	
	public void setAge(int age) {
		this.age =age;
	}
	
	public void setGender(char gender) {
		this.gender=gender;
	}
	
	public void setSalary(int salary) {
		this.salary= salary;
	}
	
	public void setBonusPoint(double bonusPoint) {
		this.bonusPoint=bonusPoint;
	}
	public void setPhone(String phone) {
		this.phone=phone;
	}
	public void setAddress(String address) {
		this.address=address;
	}
	

}

 

-실행용 클래스

package com.oop.emp.run;
import java.util.Scanner;
import com.oop.emp.model.*;

public class EmpTest {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		Employee emp = new Employee();

		String menu="******* 사원 정보 관리 프로그램 ************\r\n"
				+ "\r\n"
				+ "	1. 새 사원 정보 입력  => empInput() 메소드 실행\r\n"
				+ "	2. 사원 정보 삭제 => 사원객체 참조변수에 null대입할  것.\r\n"
				+ "	3. 사원정보 출력 =>  empOutput() 메소드 실행\r\n"
				+ "	9. 끝내기\r\n"
				+ "********************************************\n"
				+"번호 입력:  ";
	
	while(true) {
		System.out.print(menu);
		
		int num = sc.nextInt();
		
		switch(num) {
		case 1:
			emp.empInput();
			break;
			
		case 2:
			emp = null;
			break;
		
		case 3:
			if(emp==null) {
				System.out.println("입력된 사원 정보가 없음");
				break;
			}
			emp.empOutput();
			break;
		
		case 9:
			System.out.println("프로그램 종료");
			return;
		
		default:
			System.out.println("잘못 입력하였습니다.");

		}
		
	}
	
	}

}