[과제] 상속, 버블정렬

Coastby·2022년 9월 26일
0

LIKELION Back-End School

목록 보기
15/61
post-custom-banner

1. Employee 상속

  1. 다음을 만족하는 클래스 Employee를 작성하시오(1에서 3번까지 관련된 문제입니다).
  • 클래스 Employee(직원)은 클래스 Regular(정규직)와 Temporary(비정규직)의 상위 클래스
  • 필드: 이름, 나이, 주소, 부서, 월급 정보를 필드로 선언
  • 생성자 : 이름, 나이, 주소, 부서를 지정하는 생성자 정의메소드
  • printInfo() : 인자는 없고 자신의 필드 이름, 나이, 주소, 부서를 출력
  1. 다음을 만족하는 클래스 Regular를 작성하시오.
  • 클래스 Regular는 위에서 구현된 클래스 Employee의 하위 클래스
  • 생성자 : 이름, 나이, 주소, 부서를 지정하는 상위 생성자 호출
  • Setter : 월급 정보 필드를 지정
  • 메소드 printInfo() : 인자는 없고 "정규직"이라는 정보와 월급을 출력
  1. 다음을 만족하는 클래스 Temporary를 작성하시오.
  • 클래스 Temporary는 위 클래스 Employee의 하위 클래스
  • 필드 : 일한 시간, 시간당 보수를 선언하고 시간당 보수의 초기 값으로 10000 저장
  • 생성자 : 이름, 나이, 주소, 부서를 지정하는 상위 생성자 호출
  • Setter : 일한 시간을 지정하면서 급여를 일한 시간 * 시간당 보수로 계산하여 저장
  • 메소드 printInfo() : 인자는 없고 "비정규직"이라는 정보와 일한 시간과 급여를 출력
  • 또한 다음 프로그램으로 클래스 Employee, Regular, Temporary를 점검하는 프로그램 실행
public class EmployeeTest {

	public static void main(String arg[]) {

		// TODO Auto-generated method stub
		
		Regular r = new Regular("이순신", 35, "서울", "인사부");
		Temporary t = new Temporary("장보고", 25, "인천", "경리부");
		
		r.setSalary(5000000);
		r.printInfo();
		
		t.setWorkHours(120);
		t.printInfo();

	}
}

class Employee {

    private String name;
    private int age;
    private String address;
    private String dept;
    private int salary;

    public Employee(String name, int age, String address, String dept) {
        this.name = name;
        this.age = age;
        this.address = address;
        this.dept = dept;
    }

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

    protected int getSalary() {
        return salary;
    }

    public void printInfo() {
        System.out.printf("이름  :  %s\n", name);
        System.out.printf("이름  :  %d\n", age);
        System.out.printf("이름  :  %s\n", address);
        System.out.printf("이름  :  %s\n", dept);
    }
}

class Regular extends Employee {

    public Regular(String name, int age, String address, String dept) {
        super(name, age, address, dept);
    }

    @Override
    public void setSalary(int salary) {
        super.setSalary(salary);
    }

    @Override
    public void printInfo() {
        super.printInfo();
        System.out.println("정규직");
        System.out.println(super.getSalary());
    }
}

class Temporary extends Employee {
    private int workHours;
    private int wage;

    public Temporary(String name, int age, String address, String dept) {
        super(name, age, address, dept);
        this.wage = 10000;
    }

    public int getWorkHours() {
        return workHours;
    }

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

    private void setSalary() {
        int salary = workHours * wage;
        super.setSalary(salary);
    }

    @Override
    public int getSalary() {
        return super.getSalary();
    }

    @Override
    public void printInfo() {
        super.printInfo();
        System.out.println("비정규직");
        System.out.println("일한 시간  :  " + getWorkHours());
        System.out.println("급여  :  " + super.getSalary());
    }
}

public class EmployeeTest {
    public static void main(String[] args) {
        Regular r = new Regular("이순신", 35, "서울", "인사부");
        Temporary t = new Temporary("장보고", 25, "인천", "경리부");

        r.setSalary(5000000);
        r.printInfo();

        t.setWorkHours(120);
        t.printInfo();
    }
}

2. 정렬을 구현하여 보자.

버블정렬

import java.util.Arrays;

class Bubble {
    public static int[] bubbleSort(int n, int[] arr) {
        int[] result = arr;

        for (int i = 1; i < n; i++) {
            for (int j = 0; j < (n-i); j++) {
                int pre = result[j];
                int post = result[j+1];
                if (pre > post) {
                    result[j] = post;
                    result[j+1] = pre;
                } else continue;
            }
        }

        return result;
    }
}


public class BubbleSortTest {
    public static void main(String[] args) {
        int[] arr = {5,3,6,4,8,9,1,2,7};
        int[] sorted = Bubble.bubbleSort(9, arr);
        System.out.println(Arrays.toString(sorted));
    }

}
profile
훈이야 화이팅
post-custom-banner

0개의 댓글