본문 바로가기

Java

2022.05.05 자바의 신 ch.13

package godOfJava.chapter13.impl.list;

import com.sun.jdi.PathSearchingVirtualMachine;

public enum HealthInsurance {

LEVEL_ONE(1000, 1.0),
LEVEL_TWO(2000, 2.0),
LEVEL_THREE(3000, 3.2),
LEVEL_FOUR (4000, 4.5),
LEVEL_FIVE (5000, 5.6),
LEVEL_SIX (6000, 7.1);


 private final int maxSalary;
 private final double ratio;

  HealthInsurance(int maxSalary, double ratio){
    this.maxSalary = maxSalary;
    this.ratio = ratio;
  }

  public static HealthInsurance getHealthInsurance(int salary){
    if (salary < 1000)
      return LEVEL_ONE;
    else if (salary < 2000)
      return LEVEL_TWO;
    else if (salary <3000)
      return LEVEL_THREE;
    else if (salary < 4000)
      return LEVEL_FOUR;
    else if (salary < 5000)
      return LEVEL_FIVE;
    else
      return LEVEL_SIX;
  }

  public double gerRatio() {
    return ratio;
  }

  public static void main(String[] args) {
    int salaryArray[] = new int[] {1500, 5500, 8000};
    HealthInsurance[] insurances = new HealthInsurance[3];
    insurances[0] = HealthInsurance.getHealthInsurance(salaryArray[0]);
    insurances[1] = HealthInsurance.getHealthInsurance(salaryArray[1]);
    insurances[2] = HealthInsurance.getHealthInsurance(salaryArray[2]);

    for(int loop=0; loop<3; loop++) {
      System.out.println(salaryArray[loop] + "=" + insurances[loop] + ","+insurances[loop].gerRatio());
    }

  }
}

 

출력값

1500=LEVEL_TWO,2.0
5500=LEVEL_SIX,7.1
8000=LEVEL_SIX,7.1

 

-인터페이스, 추상 클래스, enum 클래스에 대해 공부했다. 앞에 두 개념은 자바의 정석으로 여러번 본 적 있어서 이해하는 데 있어서 어려움이 없었지만 enum 클래스는 어려웠다. 몇번 더 복습해봐야겠다.

'Java' 카테고리의 다른 글

자바의 신 ch.20 자바랭  (0) 2022.05.17
자바의신 1권 마지막  (0) 2022.05.15
자바의 신 ch.16, 17  (0) 2022.05.12
자바의 신 ch15 String  (0) 2022.05.11
2022.05.06 자바의 신 ch.14  (0) 2022.05.06