JAVA/실습문제

객체배열 실습문제

mi-ni 2023. 12. 7. 08:56

 

public class Employee {

 

package com.hw1.model.vo;

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 Employee() {
		
	}
		
	
	// 6개 
	
	public Employee(int empNo , String empName ,  int age , char gender,  String phone, String address) {
		this.empNo = empNo;
		this.empName = empName;
		this.age = age;
		this.gender = gender;
		this.phone = phone;
		this.address = address;
		
		
	}
	
	
		// 10
		public Employee(int empNo , String empName , String dept , String job, int age , char gender, int salary , double bonusPoint, String phone, String address) {
			this.empNo = empNo;
			this.empName = empName;
			this.dept = dept;
			this.job = job;
			this.age = age;
			this.gender = gender;
			this.salary =salary;
			this.bonusPoint = bonusPoint;
			this.phone = phone;
			this.address = address;
			

			
		}
		
		public int getEmpNo() {
			return empNo;
		}


		public void setEmpNo(int empNo) {
			this.empNo = empNo;
		}


		public String getEmpName() {
			return empName;
		}


		public void setEmpName(String empName) {
			this.empName = empName;
		}


		public String getDept() {
			return dept;
		}


		public void setDept(String dept) {
			this.dept = dept;
		}


		public String getJob() {
			return job;
		}


		public void setJob(String job) {
			this.job = job;
		}


		public int getAge() {
			return age;
		}


		public void setAge(int age) {
			this.age = age;
		}


		public char getGender() {
			return gender;
		}


		public void setGender(char gender) {
			this.gender = gender;
		}


		public int getSalary() {
			return salary;
		}


		public void setSalary(int salary) {
			this.salary = salary;
		}


		public double getBonusPoint() {
			return bonusPoint;
		}


		public void setBonusPoint(double bonusPoint) {
			this.bonusPoint = bonusPoint;
		}


		public String getPhone() {
			return phone;
		}


		public void setPhone(String phone) {
			this.phone = phone;
		}


		public String getAddress() {
			return address;
		}


		public void setAddress(String address) {
			this.address = address;
		}


		public String information() {
			return "emp[" + empNo + "]"+ ":" + empNo+ " , " + empName +" , " +  dept  + " ," +job + ", " + age + ", "+gender+", "+salary+","+bonusPoint+","+phone + "," + address;
			
		}
	
	}

 

 

public class Run {

 

package com.hw1.run;

import com.hw1.model.vo.Employee;


public class Run {

	public static void main(String[] args) {
	
		// 객체 배열을 크기 3으로 할당 한 뒤
		Employee[] emp = new Employee[3];

		
		// 0번 인덱스에는 기본생성자를 통해서 객체 생성
		emp[0]=new Employee();
		
		System.out.println(emp[0].information());
		
		// 1번 인덱스에는 매개변수 6개짜리 생성자를 이용해서 객체 생성
		
		emp[1] = new Employee(1, "홍길동", 19, 'M', "01022223333","서울 잠실" );
		System.out.println( emp[1].information());
		
		
		// 2번 인덱스에는 매개변수 10개짜리 생성자를 이용하여 객체 생성 후 출력
		
		emp[2]= new Employee(2, "강말순", "교육부", "강사", 20, 'F', 1_000_000, 0.01, "01011112222", "서울 마곡");
		System.out.println( emp[2].information());
		
		System.out.println("===========================================================");
		
		// 3개의 객체 중 값이 없는 필드에 각각 값을 넣은 뒤 다시 출력(임의로)
	
		emp[0].setEmpNo(0);
		emp[0].setEmpName("김말똥");
		emp[0].setDept("영업부");
		emp[0].setJob("팀장");
		emp[0].setAge(30);
		emp[0].setGender('M');
		emp[0].setSalary(3_000_000);
		emp[0].setBonusPoint(0.2);
		emp[0].setPhone("01055559999");
		emp[0].setAddress("전라도 광주");
		
		System.out.println(emp[0].information());
		
		emp[1].setDept("기획부");
		emp[1].setJob("부장");
		emp[1].setSalary(4_000_000);
		emp[1].setBonusPoint(0.3);
	
		System.out.println(emp[1].information());
		

		
		// 직원 각각의 보너스가 적용된 1년 연봉을 계산하여 출력
		
		System.out.println("===========================================================");
		
		int num = 0;
		
		for(int i=0; i<emp.length; i++) {
		System.out.println(emp[i].getEmpName()+ " 의 연봉 " + (int)(emp[i].getSalary()+(emp[i].getSalary()*emp[i].getBonusPoint()))*12);
		}
		
		System.out.println("===========================================================");
		// 보너스가 적용된 연봉 = (급여 +(급여 *보너스 포인트)) * 12
	
		System.out.println("직원들의 연봉의 평균 : " + num/emp.length + "원");
		// 3명 직원의 연봉 평균을 구하여 출력
	
	}
		

}

 

 

실행 결과 

 

 

더보기

emp[0]:0 , null , null ,null, 0, 

emp[1]:1 , 홍길동 , null ,null, 19, M, 0,0.0,01022223333,서울 잠실

emp[2]:2 , 강말순 , 교육부 ,강사, 20, F, 1000000,0.01,01011112222,서울 마곡

===========================================================

emp[0]:0 , 김말똥 , 영업부 ,팀장, 30, M, 3000000,0.2,01055559999,전라도 광주

emp[1]:1 , 홍길동 , 기획부 ,부장, 19, M, 4000000,0.3,01022223333,서울 잠실

===========================================================

김말똥 의 연봉 43200000

홍길동 의 연봉 62400000

강말순 의 연봉 12120000

===========================================================

직원들의 연봉의 평균 : 0원