1

とても単純な問題なので、私には理解できないようです。これが明らかな場合は申し訳ありません。

7 回の表を出して、最後に現在の合計を出さなければなりません。ここに私が持っているものがあります:

document.write("<h3>7 times tables</h3>");
document.write("<ul>");
i=1;
seven=7;

  while(i < 13) {
     Seven= i * seven;
     document.writeln("<li>" + i + " times 7 = " + Seven);
     var result=new Array(6)
     result[1]=Seven;
     i++;
  }

document.writeln("</ul>");
document.write("<strong>The sum do far is"+result[1]+"</strong>");

ありがとう

4

4 に答える 4

3

ループ内で配列を再宣言してresultいるので、各反復で前の計算が消去され、最初からやり直します。var result=new Array(6)の直前に移動してwhile(i<13)、再試行してください。

var result = new Array(6);
while(i < 13) {
   ...
}

しかし、これは...「なぜ配列を使用するのか」という疑問を投げかけます。あなたは単に現在の合計を行うためにそれを使用しているので、単純なintを使用するだけです:

var result = 0;
while(i < 13) {
   result = result + (i * 7);  // or simply: result += i * 7;
   ...
}

これがフィドルですhttp://jsfiddle.net/zeYQm/1/

于 2011-05-24T19:27:29.240 に答える
1
document.write("<h3>7 times tables</h3>");
document.write("<ul>");
i=1;
seven=7;
var result = 0;
  for(var i = 1; i <= 13; i++){
     document.writeln("<li>" + i + " times 7 = " + (seven*i) + '</li>');   
    result += (seven*i);
  }

document.writeln("</ul>");
document.write("<strong>The sum do far is"+result+"</strong>"
于 2011-05-24T19:31:15.350 に答える
0

ループを通過するたびに結果配列を再作成しています。while ループの前に宣言してみてください。

于 2011-05-24T19:28:37.853 に答える