2016-02-04 68 views
0

我有一個while循環,其中有if,else if和else條件。當我運行循環時,最後的else條件永遠不會顯示,我試圖找出它的原因。下面的代碼:其他結果不會顯示在while循環中 - javascript

var loopEnd = 1; 
while (loopEnd != 2) { 
    var conversion = prompt("Do you want to convert miles to km, or km to miles?"); 
    if (conversion == "miles to km") { 

    var miles = 0; 
    var miles = prompt("How many miles do you want to convert?"); 
    var kilometers = 1.61 * miles; 
    while (miles != 0) { 
     alert("The number of kilometers for " + miles + " miles is " + kilometers + " kilometers."); 
     var miles = prompt("How many miles do you want to convert?"); 
     var kilometers = 1.61 * miles; 
        } 
    var promptEnd = prompt("Do you want to convert anything else?"); 
    if (promptEnd == "no") { 
     var loopEnd = 2; 
     } else { 
     alert("Okay, let's convert something else!"); 
     } 

    } else if (conversion == "km to miles") { 

    var kilometers = 0; 
    var kilometers = prompt("How many kilometers do you want to convert?"); 
    var miles = 0.62 * kilometers; 
    while (kilometers != 0) { 
     alert("The number of miles for " + kilometers + " kilometers " + miles + " miles."); 
     var kilometers = prompt("How many kilometers do you want to convert?"); 
     var miles = 1.61 * kilometers; 
    } 
    var promptEnd = prompt("Do you want to convert anything else?"); 
    if (promptEnd == "no") { 
     var loopEnd = 2; 

// } else { 

    alert("Sorry, I didn't quite catch that."); 
    } 
    } 
} 
+1

您能否在代碼中發現您的意思? – Paulo

+0

請嘗試更整齊地格式化您的代碼,將塊和花括號縮進一起。這可能是一個錯位的'},但很難發現。 – Rhumborl

+0

當然。這是最後的評論。是的,我會盡量更快地整理它的格式。 – jmoney2375

回答

1

如果你是指的在else與它的警報,那麼你需要重新格式化你的代碼。這裏試試這個

var loopEnd = 1; 
while (loopEnd != 2) { 
    var conversion = prompt("Do you want to convert miles to km, or km to miles?"); 
    if (conversion == "miles to km") { 

    var miles = 0; 
    var miles = prompt("How many miles do you want to convert?"); 
    var kilometers = 1.61 * miles; 
    while (miles != 0) { 
     alert("The number of kilometers for " + miles + " miles is " + kilometers + " kilometers."); 
     var miles = prompt("How many miles do you want to convert?"); 
     var kilometers = 1.61 * miles; 
    } 
    var promptEnd = prompt("Do you want to convert anything else?"); 
    if (promptEnd == "no") { 
     var loopEnd = 2; 
    } else { 
     alert("Okay, let's convert something else!"); 
    } 


} else if (conversion == "km to miles") { 

    var kilometers = 0; 
    var kilometers = prompt("How many kilometers do you want to convert?"); 
    var miles = 0.62 * kilometers; 
    while (kilometers != 0) { 
     alert("The number of miles for " + kilometers + " kilometers " + miles + " miles."); 
     var kilometers = prompt("How many kilometers do you want to convert?"); 
     var miles = 1.61 * kilometers; 
    } 
    var promptEnd = prompt("Do you want to convert anything else?"); 
    if (promptEnd == "no") { 
     var loopEnd = 2; 
    } 
} 
else { 
    alert("Sorry, I didn't quite catch that."); 
} 
} 

Rhumborl是正確的,你需要清理你的代碼,並給它適當的間距。

+0

感謝您的幫助!我很新,所以我會盡我所能去適當的格式和間距。 – jmoney2375