/* CIS3270 Assignment Sample Solution * Description: this is a sample solution for assignment 3 Electricity Bill * Author: Jack G. Zheng * Date: Jan 26, 2006 */ package zheng.cis3270.assignment; public class ElectricityBill //note no encapsulation is implemented { int usage; char season; double totalDue; double baseCharge; double rate1, rate2, rate3, rider; public ElectricityBill(int usage, char season) { rate1=0.04663; rider=0.024581; this.season=season; this.usage=usage; this.baseCharge=7.44; } void calculateTotalDue() //calcualtion based on season and rate { double tier1, tier2, tier3; if (season=='s') { rate2=0.0775; rate3=0.07978; } else { rate2=0.04001; rate3=0.03939; } if (usage<=650) { tier1=usage*rate1; tier2=0; tier3=0; } else if (usage <= 1000) { tier1=650*rate1; tier2=(usage-650)*rate2; tier3=0; } else { tier1=650*rate1; tier2=(1000-350)*rate2; tier3=(usage-1000)*rate3; } totalDue=(tier1+tier2+tier3+rider*usage+baseCharge); } public void printStatement() { this.calculateTotalDue(); System.out.println("Usage: "+usage); System.out.println("Season: "+season); System.out.println("Total due: "+totalDue); } public static void main(String[] args) { ElectricityBill bill1 = new ElectricityBill(800, 's'); bill1.printStatement(); } }