자바 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