The Roadrunner Automobile Club (RAC) of Boulder Colorado provides towing service
ID: 3683708 • Letter: T
Question
The Roadrunner Automobile Club (RAC) of Boulder Colorado provides towing service to its members. The cost of the towing service depends on 3 things : membership level, how many vehicles are registed to a member, and how many miles a vehicle needs to be towed. This programming project involves writing a program that calculates and ouptuts the bill for towing service. The towing rates are computed as follows : Deluxe membership : Initial fee of $20.00 plus first 10 miles are free. Charges for over 10 miles are $1.25 per mile. If more than one vehicle is registered, the total towing bill is reduced by 20% for each additional vehicle registered. Gold membership : Initial fee of $10.00 plus first 25 miles are free. Charges for over 25 miles are $1.25 per mile. If more than one vehicle is registered, there is no $10 charge and the total towing bill is reduced by 25% for each additional vehicle registered Platinum membership : No initial fee and first 200 miles are free. Charges for over 200 miles but less than 501 miles are $1.00 per mile. Charges for over 500 miles is $2.00 per mile over 500. If more than 1 vehicle is registered,the total towing bill is reduced by 30% for each additional vehicle registered. Notes : 1. A member can register a maximum of 3 vehicles. 2. Allow user to enter upper and lowercase membership types. 3. If an invalid membership type is entered output an appropriate clear message and end the program. 4. The output format is : Bill breakdown : Membership type : X, Vehicles registered : X Miles towed : XXXX Initial Fee : $ XXX.XX Overage miles charges : $ XXX.XX Membership discount : $ XXX.XX Total towing bill : $ XXX.XX 5. Be sure to test all test cases.
Explanation / Answer
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Test{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter membership type:"); String mType = br.readLine(); System.out.println("How many vehicles registered :"); int n = Integer.parseInt(br.readLine()); System.out.println("Enter miles need to be towed:"); double miles = Double.parseDouble(br.readLine()); int initialFee=0,freeMiles; double over=0,discount=0,total=0; if(mType.equalsIgnoreCase("Deluxe")){ initialFee = 20; freeMiles = 10; over = (miles-freeMiles)*1.25; discount = 0.2; if(n>1) discount = n*discount; }else if(mType.equalsIgnoreCase("Gold")){ initialFee = 10; freeMiles = 25; over = (miles-freeMiles)*1.25; discount = 0.25; if(n>1) discount = n*discount; }else if(mType.equalsIgnoreCase("Platinum")){ initialFee = 0; freeMiles = 200; over = (miles > 200 && miles < 500) ? (miles-200)*1 : ((miles>500)?(300+(miles-500)*2) : 0); discount = 0.3; if(n>1) discount = n*discount; } total = initialFee + over - discount; print(mType,n,miles,initialFee,over,discount,total); } public static void print(String mType,int vehicles,double miles,int initFee,double overCharge,double discount,double total){ System.out.println("Bill breakdown : " + " Membership type : "+mType+", " + " Vehicles registered : "+vehicles+" " + " Miles towed : "+miles+" " + " Initial Fee : $"+initFee+" " + " Overage miles charges : $"+overCharge+" " + " Membership discount : $"+discount+" " + " Total towing bill : $"+total+" "); } }Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.