亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神的指點!?。?/h1>

?var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

?

var a=scoreStr.split(";");

var sum=0;

for(var i=1;i<=a.length;i++){

? ? var index=a[i].substring(a[i].indexOf(":")+1);

? ? sum=sum+parseInt(a);

? ??

}

document.write("班級總分數:"+sum/a.length+"<br>");


? //從數組中將成績撮出來,然后求和取整,并輸出。

??

為什么這段程序執行不出來?

正在回答

3 回答

http://img1.sycdn.imooc.com//591bb4f10001bb2708620571.jpg首先 數組是從 0開始的? a[0]是第一個數據? a【9】是最后一個數據? 循環10次 你這里雖然循環了10次 但是是從a【1】開始的? 而且最后結束的是a【10】 這個數據并不存在 所以會導致程序出錯? ;?? 其次是sum應該?? 加的是index? 這個變量http://img1.sycdn.imooc.com//591bb5b70001e62109410526.jpg

0 回復 有任何疑惑可以回復我~
#1

oOo焱炎之火oOo燚_0

還有一個問題就是 把班級總分數改成 平均分 而且要在 平均分前加個四舍五入函數 或者向上向下取整的方法
2017-05-17 回復 有任何疑惑可以回復我~
#2

慕田峪0611318 提問者

非常感謝!
2017-05-17 回復 有任何疑惑可以回復我~
#3

慕田峪0611318 提問者 回復 慕田峪0611318 提問者

那i<=a.length這里為什么不需要這個等號?
2017-05-17 回復 有任何疑惑可以回復我~

var a=scoreStr.split(";");
var sum=0;
for(var i=0;i<a.length;i++){
? ?var index=a[i].substring(a[i].indexOf(":")+1);
? ?sum=sum+parseInt(index);

}
document.write("班級平均分:"+sum/a.length+"<br>");

0 回復 有任何疑惑可以回復我~

var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

var a=scoreStr.split(";");

var sum=0;

for(var i=0;i<a.length;i++){

//你這里小于等于有問題,等于的話i=10還可以進循環,

//但數組a只有0-9,沒有10,那下面的a[10]為undefined沒有substring就會報錯,

? ? sum+=parseInt(a[i].substring(a[i].indexOf(":")+1));

//你這里其實已經拿到數字了,我們就直接加等就好了,你parseInt(a)這里是a是數組

}

console.log(sum);

document.write("班級總分數:"+sum+"<br>");


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468966    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

求大神的指點?。。?/h1> 我要回答 關注問題

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號