JavaScriptで合計を出力する方法

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

javascriptで合計を出力したいです

まず最初にソース載せます⇓ <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 anaswer; points[i] = anaswer; anaswer = prompt("点数を入力してください",""); var anaswer2; anaswer2=Number(anaswer); } var sum2; var sum=0; sum2=Number(sum); for(i=0; i<points.length; i++){ sum=+points[i]; } document.write(sum); </script> </body> </html> エラーはいっさいありません。ただ計算式が間違ってるだけです 3回入力し、1回目10, 2回目20、 3回目30と入力すると出力結果は20が返ってきました。 要件は入力した数字分の合計を求めるという物です。 けど20が返ってくるってことは平均を出力しているってことですよね? 考えてもわからなくってアドバイスお願いします。

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

  • ベストアンサー
  • 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

  • ▲▲JavaScriptに詳しい人見てください▲▲

    入力された複数の (不定個の) 数値の合計を求めるプログラム . 空の入力でデータ入力の終了を表すものとする (少なくとも1個はデータを入力するものとする). をつくる課題が出ているのですが、 なかなか上手く行きません。 1: 2: <title>JavaScript Sample 4-2</title> 3: <script type="text/javascript"> 4: <!-- 5: // 変数の宣言 6: var i, x; 7: 8: // 入力・計算 9: x = Number(prompt("?")); 10: i = prompt("?"); 11: while (x != "") { 12: for(i = 1; i <= Number(x); i++){ 13: i +=Number(prompt( i + "つ目の数字を入力してください")); 14: } 15: } 16: 17: // 出力 18: document.writeln("<p>合計は " + x + " です.</p>"); 19: 20: // --> 21: </script> というのを1番始めに打ったのですが、 意味不明なことになってしまうことに気付いて 9~15行目の部分を,書きなおすと x = Number(prompt("?")); i = prompt("?"); while (x != "") { i +=Number(prompt("数値を入力してください")); } としましたが,これだと無限ループから抜けられませんし… かなりめちゃくちゃなことをしていることは分かるのですが どこをどう直せばいいかわからないレベルなんです。 ご教授いただければ幸いですっ

  • 1 ~ Nまでの整数の総和(1+2+3...+N)を求めるJavaScriptの記述は?

    JavaScriptを学んでいます。初歩的な質問で大変申し訳ないのですが、どうしても自分で解決できずに困っています。 「1 ~ Nまでの整数の総和(1+2+3...+N)を求める関数を持つスクリプトを作成する」というのが目標なのですが、下記のようなスクリプトはinternet Explorerでは動作しません。MozillaFirefoxおよびOperaでは意図したとおり動作できることを確認しています。どこに誤りがあるのでしょうか?どなたかアドバイスをお願いいたします。 <html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>kadai</title> <script type="text/javascript"> <!-- function keisan(num1,num2){ return num1*num2/2; } //--> </script> </head> <body> <script type="text/javascript"> <!-- var num1 = prompt("1~入力データまでの総和を計算します。",""); var num2 = num1++; alert("1 ~ 入力データまでの総和は、" + keisan(num1,num2) + "です。"); //--> </script> </body> </html>

  • javascriptに関する質問です

    javascriptに関する質問です タグの"<",">"を入力したら"&t","&gt"に置き換えまた(ダブルオークション)を入力したら&qut ""また(空白)を入力したら&mbsp;また"&"を入力したら&ampに置き換えるjavascriptを作りたいのですがいまいちどう作ればいいのか方向が分かりませんどなたかご教授ください 個人としてはremoveTagを使い変更したいですがなかなかうまくいきません どなたかご教授ください !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>タグを置き換える</title> <script language="JavaScript" type="text/javascript"> <!-- function removeTag() { var str = document.myForm.before.value; var newStr = str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;').replace(/\s/g,'&nbsp;'); document.myForm.after.value = newStr }

  • このソースどういう意味ですか【JavaScript】

    <HTML> <HEAD> <TITLE>JavaScript Sample</TITLE> <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> </HEAD> <BODY> : <INPUT TYPE="button" VALUE="OK" onClick="~"> : </BODY> </HTML> このソースの中の <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> の部分ってどういう意味ですか? 特にTypeとHTTP-EQUIVの部分については個別で詳しく知りたいです。 回答よろしくお願いします。

  • Javascriptについて教えてください。

    Javascriptについて教えてください。 整数を入力してその入力した整数の約数の数を表示するプログラムを つくりたいのですがどうすればよいのでしょうか? 例えば、6と入力したらブラウザ上に約数の個数つまり、4と表示します。 また0以下の数字は整数を入力してくださいと表示されるようにしたいです。 途中までは作りました。 解説付きで教えてください。 <html> <head> <title>整数の約数の数を表示する</title> </head> <body> <p><script type="text/javascript"> <!-- var number; var i; number = prompt("整数を入力してください"); for(i = 0; i < 10;i++){ if(number <= 0) document.write("整数を入力してください。"); else if(number >= 1)

  • vmlをJavascriptで操作

    こんにちは。 vmlで描いた折れ線のpoints要素を、Javascriptで操作できなくて困っています;; 以下が、全ソースです。 ***************************** <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:v="urn:schemas-microsoft-com:vml"> <head> <META http-equiv="Content-Style-Type" content="text/css"> <style> v\:*{ behavior : url(#default#VML); } </style> <script type="text/javascript"> function c(){ var el = document.getElementById("a"); el.points = "0,0 100,100"; } </script> </head> <body> <v:polyline style="position:relative;" points="10,0 20,30 30,0 40,30" id="a" /><br /> <input type="button" value="click" onclick="c()"> </body> </html> ***************************** polylineのpointsだけ、できないんですよね…仕様でしょうか? どなたか分かる人は、ご教示願います。

  • javespriptについて

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" type="text/css" href="css/top.css"> <title>地球船地球丸プロジェクト</title> <script type="text/javascript"> <!-- for(var i=1;i<=1000,i++){ document.writeln(i+"回目:桑立") } --> </script> </head> <body> </body> </html> と <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" type="text/css" href="css/top.css"> <title>地球船地球丸プロジェクト</title> <script type="text/javascript"> <!-- var ra-men =10; if(ra-men> =60){ alert("合格"); } else{ alert("不合格"); } --> </script> </head> <body> </body> </html> うまくいきません 間違っているのでしょうか

  • JavaScriptでレーダーチャート表示

    JavaScriptでレーダーチャートを表示したくて html5jp様のライブラリを使用しているのですが 「"angle_num"が宣言されていません」とエラーが表示されてしまい 表示できません。 ちなみにクエリ文字列からデータを取得しています。 どなたか解決お願いします。 ソースは以下のようになってます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="ja" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title>title</title> <style type="text/css"> canvas {border:0px solid #4c4c4c;} </style> <!--[if IE]><script type="text/javascript" src="graph_radar_1_0_0/html5jp/excanvas/excanvas.js"></script><![endif]--> <script type="text/javascript" src="graph_radar_1_0_0/html5jp/graph/radar.js"></script> <script type="text/javascript"> function $q(){ var result = {}; var str = location.search.substring(1); var paramss = str.split('&'); for(var i = 0;i < paramss.length; i++){ var kv = paramss[i].split('='); result[kv[0]] = decodeURIComponent(kv[1]); } return result; } var q = $q(); for(var j = 1; j < 21; j++){ /* document.write(q['a'+j] + " "); */ q['a'+j]-=0; /* document.write(typeof q['a'+j]); */ } window.onload = function() { var rc = new html5jp.graph.radar("sample"); if( ! rc ) { return; } var items = [ [ q.a0, q.a1, q.a2, q.a3, q.a4, q.a5, q.a6, q.a7, q.a8, q.a9, q.a10], ["ave.", q.a11, q.a12, q.a13, q.a14, q.a15, q.a16, q.a17, q.a18, q.a19, q.a20] ]; var params = { aCap: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"], aMax: 5, aMin: 0 }; rc.draw(items, params); }; </script> </head> <body scroll="no"> <div><canvas width="300" height="200" id="sample"></canvas></div> </body> </html>

  • meta要素の意味

    は何でしょうか? <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> を置かない場合の不都合は何でしょうか? これらをおく意味は何でしょうか?

    • ベストアンサー
    • HTML
  • 「シェルスクリプト」でできませんか

    Linuxで色々と試しにやってみる時によく使うので メモ帳に下記のようなものをメモしてあります。 vi /var/www/html/index.html --- (1) <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>test</title> </head> <body> テスト中(/var/www/html/index.html) </body> </html> (1)をコピーして、ペーストし、viエディタを起動します 次に「i」を押して入力状態にします 次に<html ~ </html>をコピーし、ペーストします 「ESC」「:」「wq」と押して「index.html」の作成が完了します この一連の処理を「シェルスクリプト」を使って一気にできないものでしょうか viエディタに慣れてないこともあって、煩わしいのです また「シェルスクリプト」のいいサンプルないでしょうか?なかなか見つかりません

専門家に質問してみよう