为了账号安全,请及时绑定邮箱和手机立即绑定

我的输出平均成绩无法输出。但是把对应语句放进for循环就能输出,请问是为什么?

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>

<script type="text/javascript">
var date = new Date();
var weekday=["星期一","星期二","星期三","星期四","星期五","星期六","星期天"]
 //通过javascript的日期对象来得到当前的日期,并输出。
 document.write(date.getFullYear()+"年"
                  +date.getMonth()+"月"
                  +date.getDate()+"日"
                  +"&nbsp"+weekday[date.getDay()-1]);

 //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
 var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 var student=scoreStr.split(";");
 var score = new Array();
 var sum=0;
 for(var i=0;i<scoreStr.length;++i){
 score[i]=student[i].substr(3,2);
 sum+=parseInt(score[i]);
 }
 document.write(parseInt(sum)+"<br>");
 //从数组中将成绩撮出来,然后求和取整,并输出。
 


</script>
</head>
<body>
</body>
</html>


正在回答

1 回答

for (var i = 0; i < student.length; ++i) {
				score[i] = student[i].split(':')[1];
				sum += parseInt(score[i]);
			}
			document.write(parseInt(sum) + "<br>");
			//从数组中将成绩撮出来,然后求和取整,并输出。
			document.write(sum/student.length);

for 这里我给你重新写了一下,有下面三个错误

  1. i<student.length 你写成了 i<scoreStr.length;

  2. score[i] = student[i].substring(3,6); 你写成了 score[i]=student[i].substr(3,2);还有就是substring() 方法用于提取字符串中介于两个指定下标之间的字符。这个你其实直接可以写成这样的 score[i] = student[i].split(':')[1];还有这块没有必要用数组存储,你直接定义一个var score就行了

  3. document.write(sum/student.length); 输出平均值

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

FoodPorn 提问者

谢谢!我根据你帮我指出的错误,都改对了。另外我看了章节的wiki知识,上面说string.substring(3,5)是可以等同于string.substr(3,2)的。最后谢谢你帮我纠错!很感谢!
2015-12-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的输出平均成绩无法输出。但是把对应语句放进for循环就能输出,请问是为什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信