Reputation: 75
Every time I run this segment of code in a sandbox environment I time-out and eventually crash. I've run it through mutliple IDEs and am still unable to find any syntax errors. If anyone is seeing something that I'm not, I'd very much appreciate the input.
//assign variables to memory
var carModel = new Array()
var milesDriven = new Array()
var gallonsUsed = new Array()
var milesperGallon = new Array()
var questionState, epaRating, conditionofVehicle, totalAverage;
var runningAverage = 0;
var i = 0;
do {
//retrieve basic information about vehicle from standard input: model, miles, gallons
carModel[i] = prompt("What type of vehicle do you drive?");
milesDriven[i] = parseInt(prompt("How many miles have you
driven with this vehicle?"));
gallonsUsed[i] = parseInt(prompt("How many gallons of gas have you used when driving this vehicle?"));
//calculate miles per gallon
milesperGallon[i] = milesDriven[i] / gallonsUsed[i];
runningAverage = runningAverage + milesperGallon[i];
do {
questionState = prompt("Do you have any more vehicles that you would like to enter? If yes, type 'yes'. If no, type 'no'.");
} while (questionState != "yes" && questionState != "no");
i++;
} while (questionState == "yes");
totalAverage = runningAverage / i;
// parse through each element of carModel, milesDriven, gallonsUsed
for (var j = 0; j <= i; j++) {
//determine performance standards based upon M.P.G of vehicle
if (milesperGallon[j] >= 38) {
conditionofVehicle = "Good";
epaRating = 10;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 31 && milesperGallon[j] < 38) {
conditionofVehicle = "Good";
epaRating = 9;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 27 && milesperGallon[j] < 31) {
conditionofVehicle = "Good";
epaRating = 8;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 23 && milesperGallon[j] < 27) {
conditionofVehicle = "Fair";
epaRating = 7;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 22 && milesperGallon[j] < 23) {
conditionofVehicle = "Fair";
epaRating = 6;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 19 && milesperGallon[j] < 22) {
conditionofVehicle = "Fair";
epaRating = 5;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 17 && milesperGallon[j] < 19) {
conditionofVehicle = "Fair";
epaRating = 4;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 15 && milesperGallon[j] < 17) {
conditionofVehicle = "Bad";
epaRating = 3;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 13 && milesperGallon[j] < 15) {
conditionofVehicle = "Bad";
epaRating = 2;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else if (milesperGallon[j] >= 0 && milesperGallon[j] < 13) {
conditionofVehicle = "Bad";
epaRating = 1;
//output the performance standards to user
document.writeln("Your" + " " + carModel[j] + " " + "receives" + " " + milesperGallon[j] + " " + "miles per gallon.");
document.writeln("Based upon this metric your vehicle is in" + " " + conditionofVehicle + " " + "condition and has a EPA rating of" + " " + epaRating + ".");
} else {
document.writeln(" ");
}
}
// check to make sure there is an input value
if (totalAverage >= 0) {
document.writeln("You have" + " " + i + " " + "vehicles." + " " + "Between them
they average" + " " + totalAverage + " " + "miles per gallon.");
}
Upvotes: 0
Views: 85
Reputation: 229301
You can't split a string across multiple lines:
milesDriven[i] = parseInt(prompt("How many miles have you
driven with this vehicle?"));
It should be:
milesDriven[i] = parseInt(prompt("How many miles have you driven with this vehicle?"));
Likewise with this line:
if (totalAverage >= 0) {
document.writeln("You have" + " " + i + " " + "vehicles." + " " + "Between them
they average" + " " + totalAverage + " " + "miles per gallon.");
}
should be:
if (totalAverage >= 0) {
document.writeln("You have" + " " + i + " " + "vehicles." + " " + "Between them they average" + " " + totalAverage + " " + "miles per gallon.");
}
It worked for me when I made those changes.
Upvotes: 3