2

I want to ask a user (through a prompt) if they would rather convert km to miles, or miles to km, within an else if statement. If neither condition is met, I want to go back to the conversion prompt:

var conversion = prompt("Do you want to convert miles to km, or km to miles?");
if (conversion=="miles to km") {
  [perform miles conversion here]
} else if (conversion=="km to miles") {
  [perform km conversion here]
} else {
  [go back to conversion prompt]
}

How would you code this line in JavaScript? Thanks.

1
  • while(true) { do stuff } Commented Feb 1, 2016 at 18:49

3 Answers 3

1
var userHasMadeAChoice = false;

while(!userHasChosen)
{
    var conversion=prompt("Do you want to convert miles to km, or km to miles?");
    if (conversion=="miles to km") {
        [perform miles conversion here]
        userHasMadeAChoice = true;
    } else if (conversion=="km to miles") {
        [perform km conversion here]
        userHasMadeAChoice = true;
    }
}

Please do consider reading various articles on Structured Programming

Sign up to request clarification or add additional context in comments.

Comments

1

I could do it like that:

    var conversion;

    while (conversion === null || (conversion !== "miles to km" && conversion !== "km to miles")) {
        conversion = prompt('Do you want to convert miles to km, or km to miles?');
    }

    console.log(conversion);

1 Comment

No problem. This is a nice solution.
0

Use a loop:

while(true)
{
    var conversion=prompt("Do you want to convert miles to km, or km to miles?");
    if (conversion=="miles to km") {
        [perform miles conversion here]
        break;
    } else if (conversion=="km to miles") {
        [perform km conversion here]
        break;
    }
}

You can use a while loop and just set the condition to true. Then break out of the loop using break when one of the conditions is met.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.