- #1
clook
- 35
- 0
I'm supposed to calculate the cost of renting a Ford, Cadillac or Toyota, and use conditional statements to calculate the different costs of each vehicle.
users are supposed to enter “F” for Ford, “T” for Toyota, or “C” for Cadillac
users enter “F” for Ford, “T” for Toyota, or “C” for Cadillac
The type of car can only be a Ford, a Cadillac, or a Toyota. Fords rent for $26 per day and .15 per mile. Cadillacs rent for $65 per day and .25 per mile. Toyotas rent for $40 per day and .18 per mile. The total charge will include the number of days rented * the daily rental charge + the number of miles driven * the per mile rate. The first 100 miles are free, so there will be no mileage charge for miles under 100. For miles over 100, only those miles over 100 are to be charged. Therefore, if a car is driven 145 miles, the chargeable miles will be 45.
I've attempted to code this with if and else if statements, but for whatever reason the calculation does not go through and just shows up as "$0.00"
here is the code from my computation class:
what did i do wrong?
users are supposed to enter “F” for Ford, “T” for Toyota, or “C” for Cadillac
users enter “F” for Ford, “T” for Toyota, or “C” for Cadillac
The type of car can only be a Ford, a Cadillac, or a Toyota. Fords rent for $26 per day and .15 per mile. Cadillacs rent for $65 per day and .25 per mile. Toyotas rent for $40 per day and .18 per mile. The total charge will include the number of days rented * the daily rental charge + the number of miles driven * the per mile rate. The first 100 miles are free, so there will be no mileage charge for miles under 100. For miles over 100, only those miles over 100 are to be charged. Therefore, if a car is driven 145 miles, the chargeable miles will be 45.
I've attempted to code this with if and else if statements, but for whatever reason the calculation does not go through and just shows up as "$0.00"
here is the code from my computation class:
Code:
public class Calculate
{
private double milesDrivenDouble, summaryMilesDrivenDouble;
private static double totalCostDouble, mileageCostDouble, dailyCostDouble,
summaryCostDouble, fordGrandTotalDouble, cadillacGrandTotalDouble, toyotaGrandTotalDouble;
private static int daysRentedInteger, summaryCarsDouble, carCounterInteger, fordCounterInteger,
cadillacCounterInteger, toyotaCounterInteger;
private static String carType;
private final double FORD_DAILY_RATE = 26;
private final double FORD_PER_MILE_RATE = 0.15;
private final double CADILLAC_DAILY_RATE = 65;
private final double CADILLAC_PER_MILE_RATE = 0.25;
private final double TOYOTA_DAILY_RATE = 40;
private final double TOYOTA_PER_MILE_RATE = 0.18;
private double MILES_COUNTED = milesDrivenDouble - 100;
public Calculate()
{}
public Calculate(double milesDrivenDouble, int daysRentedInteger)
{
setMiles(milesDrivenDouble);
setDaysRented(daysRentedInteger );
calculateFord();
calculateCadillac();
calculateToyota();
}
private void setMiles(double milesDrivenNewDouble)
{
//assign public variable to private
milesDrivenDouble = milesDrivenNewDouble;
}
private void setDaysRented(int daysRentedNewInteger)
{
//assign public variable to private
daysRentedInteger = daysRentedNewInteger;
}
private void setCarType(String carTypeNew)
{
//assign public variable to private
carType = carTypeNew;
}
private void calculateFord()
{
if(carType == "F" && milesDrivenDouble <= 100)
{
mileageCostDouble = FORD_PER_MILE_RATE * MILES_COUNTED;
dailyCostDouble = FORD_DAILY_RATE * daysRentedInteger;
totalCostDouble = mileageCostDouble + dailyCostDouble;
}
else
{
totalCostDouble = 0 + dailyCostDouble;
}
fordCounterInteger++;
summaryCostDouble += totalCostDouble;
fordGrandTotalDouble += totalCostDouble;
}
private void calculateCadillac()
{
if(carType == "C" && milesDrivenDouble <= 100)
{
mileageCostDouble = CADILLAC_PER_MILE_RATE * MILES_COUNTED;
dailyCostDouble = CADILLAC_DAILY_RATE * daysRentedInteger;
totalCostDouble = mileageCostDouble + dailyCostDouble;
}
else if(carType =="C" && milesDrivenDouble <= 100)
{
mileageCostDouble = 0;
dailyCostDouble = CADILLAC_DAILY_RATE * daysRentedInteger;
totalCostDouble = mileageCostDouble + dailyCostDouble;
}
cadillacCounterInteger++;
summaryCostDouble += totalCostDouble;
cadillacGrandTotalDouble += totalCostDouble;
}
private void calculateToyota()
{
if(carType == "T" && milesDrivenDouble <= 100)
{
mileageCostDouble = TOYOTA_PER_MILE_RATE * MILES_COUNTED;
dailyCostDouble = TOYOTA_DAILY_RATE * daysRentedInteger;
totalCostDouble = mileageCostDouble + dailyCostDouble;
}
else if(carType =="T" && milesDrivenDouble <= 100)
{
mileageCostDouble = 0;
dailyCostDouble = TOYOTA_DAILY_RATE * daysRentedInteger;
totalCostDouble = mileageCostDouble + dailyCostDouble;
}
toyotaCounterInteger++;
summaryCostDouble += totalCostDouble;
toyotaGrandTotalDouble += totalCostDouble;
}
public double getTotalCost()
{
//returning total cost
return totalCostDouble;
}
public double getSummaryCost()
{
// return shipping cost
return summaryCostDouble;
}
public int getCarCounter()
{
//return tax
return carCounterInteger;
}
}
what did i do wrong?
Last edited: