簡體   English   中英

JavaScript嵌套While循環,無限循環

[英]JavaScript Nested While Loop, Loops infinitely

因此,我正在嘗試創建一個循環,該循環會將放入其中的任何數字減少到一位數字。 我做數學的方式是將每個數字一一加起來。 在這種情況下9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 + 9 = 108。 我希望它運行並檢查108是否仍大於9並執行直到結果小於9。它只是陷入循環中。 我還嘗試了一些將返回NaN的變體。

<html>
<body>

<h1>Reduce Loop</h1>

<p id="Result"></p>

<script type="text/javascript">
//Defined var start
var Result = 0;
var TempReduce1 = 0;
var LoopTempLength = 0;
var LoopTempString;
var i = 0;
//Defined var end
//The LongNumber variable represents user input
var LongNumber = 999999999999;
//Converts LongNumber to a integer
var LoopTemp = parseInt(LongNumber);
//Check if LoopTemp is greater than 9; it is
while (LoopTemp > 9) {
    //Gets the Length of LoopTemp by converting it to a string and grabbing the length to then convert back to a integer
    LoopTempLength = parseInt(LoopTemp.toString().length);
    //Converts LoopTemp to a string for manipulation
    LoopTempString = LoopTemp.toString();
    i = 0;
    //Check to see if i is less than the length of LoopTempLength
    while (i < LoopTempLength) {
        //Grabs the number in relationship to i, converts it to a integer and added it to TempReduce1
        TempReduce1 += parseInt(LoopTempString.charAt(i));
        i++;
    }
    LoopTemp = TempReduce1;
}   
Result = LoopTemp;

        document.getElementById("Result").innerHTML = Result;

</script>

</body>
</html>

所以Patrick Evans說對了。 我插入

TempReduce1=0;

在您的代碼之后

i=0

例行程序將9踢出了預期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM