前提・実現したいこと
プログラミング初心者(勉強中)で、現在、先月まで行っていたオンラインスクールの課題の復習を行っております。
先生の補助なしで自力でコードを書こうとしましたが、うまく表示されませんでした。
初心者の質問で申し訳ないのですが、「どの部分がだめだったのか」を
教えていただけましたら幸いです。
どうぞよろしくお願いいたします。
課題内容
複数の数値が定義されている配列data1とdata2から「data1とdata2を合わせた平均値」と「平均値以上の数値」を表示するプログラムを作成してください。
発生している問題・エラーメッセージ
エラーメッセージは特に出てこないのですが、
以下の内容しか表示されません。
本来は、この下に
data1:59
data1:100
data1:84
data1:97
data2:63
data2:64
data2:97
data2:98
と表示させる必要がございます。
※現在表示内容
平均値:59
平均値以上の数値は以下
エラーメッセージ
該当のソースコード
ソースコード(scriptタグの中身のみ添付させていただきます)
<script> var data1 = [59, 39, 100, 2, 15, 40, 84, 97]; var data2 = [63, 18, 64, 97, 50, 98]; var sum = 0 for(var i=0; i<data1.length; i++) { sum +=data1[i]; } for(var i=0; i<data2.length; i++) { sum +=data2[i]; } var ave =sum/(data1.length+data2.length); document.write('<p>平均値:'+ave+'</p>'); document.write('<p>平均値以上の数値は以下</p>'); for(var j=0; j<data1.length; j++); { if(data1[j]>=ave) { document.write('data1:'+data1[j]+'<br>'); } } for(var k=0; k<data2.length; k++); { if(data2[k]>=ave) { document.write('data2:'+data1[k]+'<br>'); } } </script>
試したこと
レッスンで一度書いたコードがございましたので、そちらを貼り付けしましたが、
そちらはうまく表示されました。僕のコードとのやり方の違いがわからない状態です。
※以下、レッスン時のコードです(scriptタグの中身のみ添付させていただきます)
<script>
var data1 = [59, 39, 100, 2, 15, 40, 84, 97];
var data2 = [63, 18, 64, 97, 50, 98];
/* 以下に課題処理を追加 */ var sum=0 for (var i = 0; i < data1.length; i++) { sum += data1[i]; } for (var i = 0; i < data2.length; i++) { sum += data2[i]; } var ave = sum / (data1.length+data2.length); document.write('<p>平均値:' + ave + '</p>'); document.write('<p>平均値以上の数値は以下</p>'); for(var k=0; k<data1.length; k++) { if(data1[k]>=ave) { document.write('data1:'+data1[k]+'<br>'); } } for(var l=0; l<data2.length; l++) { if(data2[l]>=ave) { document.write('data2:'+data2[l]+'<br>'); } } </script>
補足情報(FW/ツールのバージョンなど)
使用エディタは、CS5のDreamweaverです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/22 11:27