Program to calculate Electricity Bill

Given an integer U denoting the amount of KWh units of electricity consumed, the task is to calculate the electricity bill with the help of the below charges:

  • 1 to 100 units – Rs. 10/unit
  • 100 to 200 units – Rs. 15/unit
  • 200 to 300 units – Rs. 20/unit
  • above 300 units – Rs. 25/unit

Examples:

Input: U = 250
Output: 3500
Explanation:
Charge for the first 100 units – 10*100 = 1000
Charge for the 100 to 200 units – 15*100 = 1500
Charge for the 200 to 250 units – 20*50 = 1000
Total Electricity Bill = 1000 + 1500 + 1000 = 3500



Input: U = 95
Output: 950
Explanation:
Charge for the first 100 units – 10*95 = 950
Total Electricity Bill = 950

Approach: The idea is to identify the charge bar in which it falls and then calculate the bill according to the charges mentioned above. Below is the illustration of the steps:

  • Check units consumed is less than equal to the 100, If yes then the total electricity bill will be:

    \text{Total Electricity Bill} = (\text{units} * 10)

  • Else if, check that units consumed is less than equal to the 200, if yes then total electricity bill will be:

    \text{Total Electricity Bill} = (100*10) + (\text{units}-100) * 15

  • Else if, check that units consumed is less than equal to the 300, if yes then total electricity bill will be:

    \text{Total Electricity Bill} = (100*10) + (100*15) + (\text{units}-200) * 20

  • Else if, check that units consumed greater than 300, if yes then total electricity bill will be:

    \text{Total Electricity Bill} = (100*10) + (100*15) + (100*20) + (\text{units}-300) * 25

Below is the implementation of the above approach:

Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java implementation to calculate the
// electricity bill
  
import java.util.*;
  
class ComputeElectricityBill {
  
    // Function to calculate the
    // electricity bill
    public static int calculateBill(int units)
    {
  
        // Condition to find the charges
        // bar in which the units consumed
        // is fall
        if (units <= 100) {
            return units * 10;
        }
        else if (units <= 200) {
            return (100 * 10)
                + (units - 100)
                      * 15;
        }
        else if (units <= 300) {
            return (100 * 10)
                + (100 * 15)
                + (units - 200)
                      * 20;
        }
        else if (units > 300) {
            return (100 * 10)
                + (100 * 15)
                + (100 * 20)
                + (units - 300)
                      * 25;
        }
        return 0;
    }
  
    // Driver Code
    public static void main(String args[])
    {
        int units = 250;
  
        System.out.println(
            calculateBill(units));
    }
}

chevron_right


Output:

3500

java-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.