- ベストアンサー
ループ、プログラムなのに!?
- 以下のプログラムは、ただの乗算と、その合計を計算するだけなのに、なんでfor (var i = 1; i < 4; i++) { のループ、プログラムなのですか?
- もし同じ計算結果のダイアログBOXで、Javaの範疇で組むのであれば、他にどんなプログラムがあるのですか?
- よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
<p><span id="price1">100</span><input id="num1" value="0" /><span id="total1">1の合計</span></p> <p><span id="price2">200</span><input id="num2" value="0" /><span id="total2">2の合計</span></p> <p><span id="price3">300</span><input id="num3" value="0" /><span id="total3">3の合計</span></p> <div id="alltotal">合計</div> <button onclick="calc()">計算</button> この部分で、数量を3個入力することを求めていて、 各数量と単価をかけ算することを3回行なっているからでしょうね。 なお、 >for (var i = 1; i < 4; i++) { for (var i = 1; i <= 3; i++) { わざわざ「4未満」って書くより、「3以下」の方が 「3回」くり返していることがより直感的にわかるのではないかと思います。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
>("num" + i).value; >("total" + i).innerHTML = total; spanタグやinputタグの要素名と関係があります。 同じことをくり返していますので、for文によるループを構成することは 大いに意味があります。
for (var i = 1; i < 4; i++) { これは『ループプログラム』では無く加算コマンドです。 iの初期値は1 iの値が『4』以下なら『1』を加える。 ”i”=1 if "i"<4 then i++ else end iの値が『4』以下なら『1』を加え、『4』以上に成るとループから抜ける。 記憶で記載してますので、正確では無いかも知れません。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
何をどのように合計しているか、考えてみてください。 ------------ 以下、プログラムの考え方 ループにすると「何」の部分が一度しか記述されなくなります。 ------------- ループ無し 合計を0とする; 「1個目のアイテムの金額」を「小計」する; 「小計」を「合計」に加算する; 「2個目のアイテムの金額」を「小計」する; 「小計」を「合計」に加算する; 「3個目のアイテムの金額」を「小計」する; 「小計」を「合計」に加算する; 「合計」を合計欄に出力する; ------------- ループあり 合計を0とする; ループ { 「○個目のアイテムの金額」を「小計」する; 「小計」を「合計」に加算する; } 「合計」を合計欄に出力する;
お礼
ご回答ありがとうございます。なるほどですね^^ for (var i = 1; i < 4; i++) { で以下をもう1つ追加した場合、合計は計算さ れませんでした。しかし・・1; i < 4・・にしたら、やはり計算されました。 <p><span id="price4">400</span><input id="num4" value="0" /><span id="total4">4の合計</span></p>