나의 모양

[Java] 전기 요금 계산기 본문

SEB/Practical

[Java] 전기 요금 계산기

kexon 2022. 7. 10. 02:45

전기 요금 계산법 확인

https://cyber.kepco.co.kr/ckepco/front/jsp/CY/J/A/CYJAPP000NFL.jsp

❤️ 실행 예시

🧡 주택용 전기요금(저압) 계산법

  • 100kWh 이하: 60.70원/kWh
  • 100kWh 초과: 125.90원/kWh
  • 200kWh 초과: 187.90원/kWh
  • 300kWh 초과: 280.60원/kWh
  • 400kWh 초과: 417.70원/kWh
  • 500kWh 초과: 670.60원/kWh

💛 주의사항

  • 전력 사용량이 150kWh라면, 100kWh를 초과했으므로, 125.90 * 150이 아니라
  • 실제 요금은 전력량 초과분에 대한 구간을 적용해 요금을 책정해야함
  • 예시: 전력 사용량이 150kWh 일 때,
    • 100kWh: 100kWh 이하 요금에 포함 ⇒ 100kWh * 60.70원
    • 50kWh: 100kWh 초과 요금에 포함 ⇒ 50kWh * 125.90원
    • 총 금액: 12365.00원

💚 진행 순서

  1. 사용량 없을 때 사용량 없음 출력
  2. 사용량이 100kWh 이하일 때 금액 작성
  3. 초과된 사용량에 대한 구간별 금액 작성

💙 구현

  • 사용량을 입력하면 사용량과 요금을 알 수 있음
  • 총 금액 3자리마다 끊어주기
    • printf 사용
    • % ,10: 천단위 컴마찍어주고 .2f: 소수점 2자리까지 표시

💜 추가하면 좋을 기능

  • 한 번 입력으로 끝나지 않고 계속 입력 받을 수 있게 하기

🤍 코드

더보기
import java.util.Scanner;

public class ElectricityBill {
  public static void main(String[] args) {
    System.out.println("=".repeat(25));
    System.out.println(" 주택용 전기요금(저압) 계산기 ");
    System.out.println("=".repeat(25));

    double result = 0.0;
    double usage;

    Scanner sc = new Scanner(System.in);

    System.out.print("사용량 입력> ");
    usage = sc.nextDouble();

    // 1. 사용량이 없을 때 사용량 없음 출력
    if(usage <= 0)
      System.out.println("사용량 없음");

    // 2. 사용량이 100kWh 이하일 때 금액
    else if(usage <= 100)
      result = usage * 60.7;

    // 3. 초과된 사용량에 대한 구간별 금액 작성
    else if(usage < 201)
      result = 6070 + ((usage  - 100) * 125.9);

    else if(usage < 301)
      result = 6070 + 12590 + ((usage - 200) * 187.9);

    else if(usage < 401)
      result = 6070 + 12590 + 18790 + ((usage - 300) * 280.6);

    else if(usage < 501)
      result = 6070 + 12590 + 18790 + 28060 + ((usage - 400) * 417.7);

    else
      result =  6070 + 12590 + 18790 + 28060 + 41770 + ((usage - 500) * 670.6);

    System.out.printf("%.0fkWh의 전기 요금은 %,10.2f원 입니다.", usage, result);
  }
}

'SEB > Practical' 카테고리의 다른 글

022 | 데일리코딩, StringifyJSON 실습  (0) 2022.07.22
[메타인지] 기술면접, 개발서  (0) 2022.07.20
[Java] 구구단  (0) 2022.07.10
Comments