ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 사원의 이름과 월급 입력 받아 연봉, 월급 인상분 출력
    자바 Java/자바로 알고리즘 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
Designed by Tistory.