자바 Java/자바로 알고리즘

사원의 이름과 월급 입력 받아 연봉, 월급 인상분 출력

하나비 HANABI 2023. 1. 12. 11:43

사원 3명의 아이디는 각각 1~3

3명의 이름과 월급 정보는 입력 받아 배열에 저장하여 모든 내용 출력

월급의 인상률은 아이디 순으로 각각 10, 20, 30%

 

<Employee.java>

public class Employee {
	
	private int id;
	private String name;
	private int salary;
	
	public Employee(int id, String name, int salary) {
		super();
		this.id = id;
		this.name = name;
		this.salary = salary;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getSalary() {
		return salary;
	}

	public void setSalary(int salary) {
		this.salary = salary;
	}
	
	public int getAnnualSalary() {
		return getSalary()*12;
	}
	
	// 월급인상분 = 월급 * 10/100, 월급 * 20/100, 월급 * 30/100
	public int raiseSalary(int percent) {
		return getSalary()*percent/100;
	}
	
	public String toString() {
		return String.format("Employee[id = %d, name = %s, salary = %d]"
				,id, name, salary);
	}

}

 

<EmployeeEx.java>

import java.util.Scanner;

public class EmployeeEx {

	public static void main(String[] args) {
		
		Scanner scanner = new Scanner(System.in);
		
		// 사원 정보 입력할 배열 생성
		Employee[] empArr = new Employee[3];
		
		// 배열에 정보 집어넣기
		// i가 0부터 시작하므로 empArr[i-1] (배열의 인덱스는 0부터 시작하므로)
		for (int i = 1; i <= empArr.length; i++) {
			
			int id = scanner.nextInt();
			String name = scanner.next();
			int salary = scanner.nextInt();
			// 생성자 이용
			empArr[i-1] = new Employee(id, name, salary);
		}
		
		// 출력
		for (int i = 1; i <= empArr.length; i++) {
			System.out.printf("%s의 연봉은 %d, 월급 인상분은 %d\n"
					, empArr[i-1].toString()
					, empArr[i-1].getAnnualSalary()
					, empArr[i-1].raiseSalary(i*10));
		}
	}
}

 

// 입력
1 코난 25000000
2 장미 30000000
3 미란 40000000
// 출력
Employee[id = 1, name = 코난, salary = 25000000]의 연봉은 300000000, 월급 인상분은 2500000
Employee[id = 2, name = 장미, salary = 30000000]의 연봉은 360000000, 월급 인상분은 6000000
Employee[id = 3, name = 미란, salary = 40000000]의 연봉은 480000000, 월급 인상분은 12000000