Table of Contents
Project Solution: Electricity Bill Calculator
Code: ElectricityBill
public class ElectricityBill {
public static void main(String[] args) {
// Sample data
String customerNumber = "hg654";
String customerName = "Rumman Ansari";
int oldReading = 2562;
int currentReading = 2892;
int RENTAL_AMOUNT = 250;
int unitsUsed;
double userAmount = 0;
double tax;
double bill;
// Check if the old reading is greater than the current reading
if (oldReading > currentReading) {
System.out.println("Old reading cannot be greater than the current reading");
System.out.println("Exiting...");
System.exit(0);
}
// Calculate the bill amount
unitsUsed = currentReading - oldReading;
if (unitsUsed <= 100) {
userAmount = unitsUsed * 3.25;
} else {
userAmount = 325 + ((unitsUsed - 100) * 4.75);
}
tax = userAmount * 11.5 / 100;
bill = RENTAL_AMOUNT + userAmount + tax;
// Display the bill details
System.out.println("\t\tWEST BENGAL BIJLI VITRAN LIMITED ");
System.out.println("\t\tA GOVT. OF HARYANA UNDERTAKING");
System.out.println("Customer Number: " + customerNumber);
System.out.println("Customer Name: " + customerName);
System.out.println("Old Meter Reading: " + oldReading);
System.out.println("Current Meter Reading: " + currentReading);
System.out.println("Total Units Consumed: " + unitsUsed);
System.out.println("Fixed Rental & Line Maintenance Charges: Rs." + RENTAL_AMOUNT);
System.out.println("Total usage: Rs." + (int) userAmount);
System.out.println("Tax (11.5%): Rs." + (int) tax);
System.out.println("-------------------------------------");
System.out.println("Total Bill Amount Payable: Rs." + (int) bill);
System.out.println();
}
}
Explanation of Corrections:
- Program Structure: Ensured the program has a
mainmethod that serves as the entry point. - Sample Data: Provided sample customer details and meter readings as variables.
- Conditions and Calculations:
- Validated that the old reading is not greater than the current reading.
- Calculated
unitsUsed,userAmount,tax, andbillcorrectly.
- Printing Statements: Corrected the print statements to ensure they display the correct data.
Now, you can compile and run this program to see the output for the given sample data. You can replace the sample data with actual inputs to generate bills for different customers.
Output
WEST BENGAL BIJLI VITRAN LIMITED
A GOVT. OF HARYANA UNDERTAKING
Customer Number: hg654
Customer Name: Rumman Ansari
Old Meter Reading: 2562
Current Meter Reading: 2892
Total Units Consumed: 330
Fixed Rental & Line Maintenance Charges: Rs.250
Total usage: Rs.1417
Tax (11.5%): Rs.163
-------------------------------------
Total Bill Amount Payable: Rs.1830