尝试使用for循环将范围内的每个数字相加以创建一个和



我无法解决代码的问题。输出应该将一个范围内的每个数字相加(如输入1和2将输出3(。然而,1和3的输出12没有明显的原因。

function Sum(){
        var int1=document.getElementById("TextBox1").value;
        var int2=document.getElementById("TextBox2").value;
        for(i=int1; i<=int2; i++){
            var total=int1;
            total+=i;
            if(i==int2){
                alert("The sum of all numbers is "+total);
            }
        }
}

    
        function Sum(){
        	var int1=document.getElementById("TextBox1").value;
        	var int2=document.getElementById("TextBox2").value;
        	for(i=int1; i<=int2; i++){
        		var total=int1;
        		total+=i;
        	    if(i==int2){
        	        alert("The sum of all numbers is "+total);
        	    }
        	}
        }
    
    
    
        <html>
        <head>
        <title>
        For Sum Exercise
        </title>
        </head>
        <body>
        <script>
        </script>
        User Number 1:<input id="TextBox1"><br><br>
        User Number 2:<input id="TextBox2"><br><br>
        <button onClick="Sum()">Sum</button><br>
        </body>
        </html>
    
    

您需要从输入中获取一个数字。value来自字符串类型。使用一元加+,可以得到一个数字。

您还需要声明i

提前声明total,并将零作为循环外的值。

循环后进行输出。

function Sum() {
    var int1 = +document.getElementById("TextBox1").value,
        int2 = +document.getElementById("TextBox2").value,
        total = 0,
        i;
    for (var i = int1; i <= int2; i++) {
        total += i;
    }
    document.getElementById("sum").innerHTML = "The sum of all numbers is " + total;
}
User Number 1: <input id="TextBox1"><br><br> User Number 2: <input id="TextBox2"><br><br>
<button onClick="Sum()">Sum</button><br>
<p id="sum"></p>

最新更新