• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptで合計を出力したいです)

JavaScriptで合計を出力する方法

このQ&Aのポイント
  • JavaScriptを使用して、複数の数値の合計を出力する方法について説明します。
  • 入力された数値を配列に格納し、それらの数値を合計するためにループを使用します。
  • 計算式が誤っているため、入力された数値の平均ではなく合計が求められていません。正しい計算式を使用する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • gorusura
  • ベストアンサー率59% (25/42)
回答No.2

詳しく見ずに回答したので、間違い等があるかもしれません。 Numberオブジェクトを使ったキャストに間違いがありましたので、それで上手くできないのかと。。 <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=shift-jis"> <title>総合演習</title> </head> <body bgcolor="#FFFFFF"> <script type="text/javascript"><!-- var nunzu,ninzu2; ninzu=Number(prompt('人数を入力してください', '3')); var points=new Array(ninzu),points2; for(var i=0; i<ninzu; i++)points[i] = Number(prompt("点数を入力してください","")); var sum=0; for(i=0; i<points.length; i++){ sum=sum+points[i]; } document.write(sum); //--></script> </body> </html> これを参考にして、ご希望通りの動作に変換をして下さい。 動作確認は完了しています。

skyfire
質問者

お礼

御叮嚀に有難うございます。 Numberオブジェクに間違いがあったんですね。 そこに間違いあるとは気付かなかったです 大変助かりました

その他の回答 (1)

  • ponzuinfo
  • ベストアンサー率53% (16/30)
回答No.1

points[i] = anaswer; この時点でのanaswerはNaNです なのでpromptで数値が入れられたあとに代入すれば大丈夫です sum=+points[i]; +=です この手の問題はループの中で document.write(変数); とでもして表示させることで解決することが多々あります。 あとどうでもいいですがanswerですね

skyfire
質問者

お礼

ソースはこちらです⇓ <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-type" content="text/html; charset=shift-jis"> <title>総合演習</title> </head> <body bgcolor="#FFFFFF"> <script type="text/javascript"> var ninzu2; var ninzu; ninzuu2=Number(ninzu); ninzu=prompt('人数を入力してください', '3'); var points2; var points; points2=Number(points) var points=new Array(); for(var i=0; i<ninzu; i++){ var answer; answer = prompt("点数を入力してください",""); points[i] = answer; var answer2; anaswer2=Number(answer); } var sum2; var sum=0; sum2=Number(sum); for(i=0; i<points.length; i++){ sum=sum+points[i]; } document.write(sum); </script> </body> </html>回答有難うございます。 解決してからお礼したかったけどいつまでもお礼しないのは悪いと思ってお礼しました 言われた通りやってみてダメでした。 なんで?と思いました。 ネット上でほとんどこの式つかってるのに・・・ 3回入力して出力結果0102030です document.writeをfor(i=0; i<points.length; i++){ 部分にすると010010200102030というのが返ってきました

関連するQ&A