I’m having difficulty getting this program to run, specifically to getting the value of String bestPrice, if anyone can spot what I’m doing wrong I would greatly appreciate it. Additionally, if anyone has any advice on how to make my code better I’d love to hear ideas.
public class TransitCalculator{
int daysRidden;
int rides;
double price;
public TransitCalculator(int daysRidden, int rides, double price){
this.daysRidden = daysRidden;
this.rides = rides;
this.price = price;
}
public static double payPerRide(int daysRidden, int rides, double price){
double overAll = (daysRiddenrides)price;
return overAll;
}
public static double payPerWeek(int daysRidden,int rides, double price){
int passesNeeded = (daysRidden/7);
if(daysRidden%7 !=0){
passesNeeded++;
}
double overAll = passesNeededprice;
double averageCost = overAll/(daysRiddenrides);
return averageCost;
}
public static double perThirty(int daysRidden, int rides, double price){
if(daysRidden<30){
daysRidden=30;
}
double averageCost = price / (daysRiddenrides);
return averageCost;
}
public static String getBestFair(double daysRidden, double ridesTaken, double perEachPrice, double perSevenPrice, double perThirtyPrice){
double averageCost1= perEachPrice/(daysRiddenridesTaken);
double averageCost2= perSevenPrice;
double averageCost3= perThirtyPrice;
if(averageCost1<averageCost2 && averageCost1<averageCost3){
String bestPrice ="The best price is paying for each ride at an average of " + averageCost1 +"per ride.";
} else if(averageCost2<averageCost1 && averageCost2<averageCost3){
String bestPrice = "The best price is paying for 7 day passes at an average of " + averageCost2 + "per ride.";
} else if(averageCost3<averageCost2 && averageCost3<averageCost1){
String bestPrice = "The best price is paying for a 30 day pass at an average rate of" + averageCost3 + "per ride.";
} return bestPrice;
}
public static void main(String args){
String[] options = {"Pay-Per-Ride","7-Day Unlimited", "30-Day Unlimited"};
double[] prices = {2.75, 33.00, 127.00};
double payEach = TransitCalculator.payPerRide(30, 2, 2.75);
System.out.println("The total cost of paying for each ride is " + payEach);
double sevenDay = TransitCalculator.payPerWeek(30, 2, 33.00);
System.out.println("The average cost per ride by paying per week is " + sevenDay);
double thirtyDay = TransitCalculator.perThirty(30, 2, 127.00);
System.out.println("The average cost per ride by paying per 30 days is " + thirtyDay);
String NYCBestValue = getBestFair(30, 2, payEach, sevenDay, thirtyDay);
System.out.println(NYCBestValue);
}
}