- ベストアンサー
JavaScriptプログラムで複数の数値の合計を求める方法
- 入力された複数の数値を合計するJavaScriptプログラムを作成する課題があります。
- プログラムは、不定個の数値を入力し、その合計を求めるものです。
- 現在、上手く実装できずに困っています。どの部分を修正すればいいか、教えていただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえずIE8とChromeで動いたコードはこんな感じです。 1:<title>JavaScript Sample 4-2</title> 2:<script type="text/javascript"> 3:<!-- 4:// 変数の宣言 5:var input = 0; 6:var total = 0; 7: 8:// 入力・計算 9:for(;;){ 10: input = prompt("加算値を入力してください"); 11: 12: if (input == "") 13: break; 14: 15: total += parseInt(input, 10); 16:} 17: 18:// 出力 19:document.writeln("<p>合計は " + total + " です.</p>"); 20:// --> 21:</script> 一度変更された後に引っかかっていた理由の主な箇所としては、 ループ終了条件の「x」がループ内で再代入されない事にあります。 自分もJavascriptを現場で使ったことが無いので、コーディングスタイルには自信有りません。 ただ、プログラム全般として変数やら関数の名前は多少面倒でも意味のある物をつけましょう。 そうすれば、自然と動きは掴めるようになります。 <おまけ> 課題という事であれば終了条件の「x!=""」は正しい(仕様通り)かもしれませんが、 実際問題アルファベットやらなんやら入力されたら困りますよね。 こういう時は条件を厳しくして、想定外の物全部弾くようにされた方が良いかなと思います。
その他の回答 (1)
- sholmes
- ベストアンサー率81% (89/109)
等といっておきながら、頭の変数代入が変ですね var input = 0; は var input; だけにしといて下さい。 しかし、okwaveさんは行頭に番号入れたのにインデント解除されちゃうんですね・・・
お礼
ありがとうございます! とても勉強になりました(^^) 変数を意味のあるものにするだけで グッと分かりやすくなった気がします! ひとつお聞きしたいのですが、 for~ではなくwhile~で組むことは不可能ですか? whileで組んだときに、ループからの脱出法が分からなかったので、もし不可能じゃないのなら教えていただきたいです。
お礼
ありがとうございます! とても勉強になりました(^^) 変数を意味のあるものにするだけで グッと分かりやすくなった気がします! ひとつお聞きしたいのですが、 for~ではなくwhile~で組むことは不可能ですか? whileで組んだときに、ループからの脱出法が分からなかったので、もし不可能じゃないのなら教えていただきたいです。