2016-08-09 1 views
2
var a = prompt("Please write an integer number greater than 0"); 
while ((a <= 0) || (Math.round(a) != a)) { 
    alert("Number that you have wrote is wrong, please write another one."); 
    var a = prompt("Please write an integer number greater than 0"); 
}; 
var i; 
var sum; 
for (i = 0; i <= a; i++){ 
    var s = sum += i; 
}; 
    document.write("your sum till your number is = " + s); 

私は0より大きい整数を書いて、その後に画面に書き込むようにしましたが、その数まで加算しますが、答えに何か問題がありますあなたの番号が= NaN >>になるまで、その合計は< <です。 誰かがそのエラーで私を助けることができますか?前もって感謝します。整数の検証と和までのjs

+2

なぜあなたは 's'と' sum'を持っていますか?どちらか一方で十分ですが、追加する前に '0'に初期化する必要があります(そうでない場合は' undefined'、 'undefined + 0'は' NaN'、 'NaN + 1'は' NaNなど)。 – nnnnnn

+0

私はさまざまな方法で試しましたが、いずれもうまくいきませんでしたし、消去するのを忘れました。<< var s ...>> –

答えて

0
  1. 実行し、あなたのループでvar sum = 0;

  2. を宣言sum += i;

例:

var a = prompt("Please write an integer number greater than 0"); 
 

 
while ((a <= 0) || (Math.round(a) != a)) { 
 
    alert("Number that you have wrote is wrong, please write another one."); 
 
    var a = prompt("Please write an integer number greater than 0"); 
 
} 
 

 
var i; 
 
var sum = 0; 
 

 
for (i = 0; i <= a; i++){ 
 
    sum += i; 
 
}; 
 
    document.write("your sum till your number is = " + sum);