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

显示的是数字不是总和求破?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">

  var mydate=new Date();

  //通过javascript的日期对象来得到当前的日期,并输出。

  var y=mydate.getFullYear();

  var m=mydate.getMonth();

  var d=mydate.getDate();

  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

  var w=mydate.getDay();

  document.write(y+"年"+m+"月"+d+"日"+"星期"+weekday[w]

  +"班级总分为:"+sum);

  

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

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

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

var av=0;

var sum=0;

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

    sum+=parseInt(num[i].slice(3,5));}

    av=sum/num.length;

    

</script>

</head>

<body>

</body>

</html>


正在回答

4 回答

还有一种更简练,更好理解的代码:

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>

<script type="text/javascript">

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

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

  var sum=0;

  var pj=0;

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

    sum=sum+parseInt(s[i].substring(3));

}

        pj=sum/s.length;

   pj=Math.floor(pj);

    var rq=new Date();

    var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

    document.write(rq.getFullYear()+"年"+(rq.getMonth()+1)+"月"+rq.getDate()+"日"+"&nbsp"+week[rq.getDay()]+"&nbsp;&nbsp"+"班级的总分为:"+sum+"&nbsp;&nbsp"+"班级的平均分为:"+pj);

</script>

</head>

<body>

</body>

</html>


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

小尼采 提问者

非常感谢!
2016-03-21 回复 有任何疑惑可以回复我~

楼上的回答都不专业好吗,其实就是你没有明白slice与substr,substring的区别,slice是对数组进行的操作,substr,substring是对字符串进行的操作,你的代码就写错了。以下是我写的代码,你可以对比参考下:

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>

<script type="text/javascript">

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

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

  var sum=0;

  var pj=0;

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

var index=s[i].indexOf(":");

sum=sum+parseInt(s[i].substr(index+1,2));

}

     pj=sum/s.length;

   pj=Math.floor(pj);

    var rq=new Date();

    var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

    document.write(rq.getFullYear()+"年"+(rq.getMonth()+1)+"月"+rq.getDate()+"日"+"&nbsp"+week[rq.getDay()]+"&nbsp;&nbsp"+"班级总分为:"+pj);

</script>

</head>

<body>

</body>

</html>


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

变量声明和计算结束以后再进行打印才正确,你输出结果的地方还没有开始声明和操作sum这个变量

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

在你document.write()的时候,sum还没有出生。怎么会有结果呢?


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

举报

0/150
提交
取消

显示的是数字不是总和求破?

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