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

是哪错了吗?为什么显示不出来

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

<script type="text/javascript">

  //通过javascript的日期对象来得到当前的日期,并输出。
  var mydate=new Date();
  var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
  document.write(
      wydate.getFullYear()+"年"+
      (mydate.getMonth()+1)+"月"+
      mydate.getDate()+"日"+" "
      week[mydate.getDate()]
      );

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var marry= scoreStr.split(";");
   document.write(marry);

  //从数组中将成绩撮出来,然后求和取整,并输出。
  var score = new Array();
  var sum=0;
  for(var i=0;i<=marry.length;i++;)
  {
     sum+=parseInt(marry[i].split(3,5));
     document.write(sum);
  }
   document.write("--班级总分为:" + sum);
   document.write(",班级平均分为(保留整数):" + Math.round(sum/marry.length));

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

正在回答

2 回答

一个一个来,从上到下:

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

星期日后面的逗号是中文的,请改成英文

2.//document.write(
      wydate.getFullYear()+"年"+
      (mydate.getMonth()+1)+"月"+
      mydate.getDate()+"日"+" "
      week[mydate.getDate()]
      );

wydate改成mydate,然后在 week[mydate.getDate()]前面加上一个+号,并且把这句里面的getDate改成getDay

3. var score = new Array();

这句话存在完全没有任何意义,可以直接去掉

4. for(var i=0;i<=marry.length;i++;)

把i<=marry.length的=去掉,i++后面的分号去掉

5. sum+=parseInt(marry[i].split(3,5));

改成sum+=parseInt(marry[i].substr(marry[i].indexOf(":")+1));   首先这里的split是切割的意思,并不是提取,也就是说你用了split得到的是更多的数组,而且上面的数组中根本没有3,你用3切割切到外星去吗?sum+=parseInt(marry[i].substr(marry[i].indexOf(":")+1)); 这句话的意思是,上面已经被你分割的数组里的成员,从:后面的一位开始提取,一直到每个成员的最后一位为止,也就是分数,并且将其转化为int类型与sum进行相加。

6.document.write(",班级平均分为(保留整数):" + Math.round(sum/marry.length));

这里你用的是四舍五入,但是题目要求是显示81,所以应该用的是floor,但是没有什么问题,这个你自己想用啥就用啥。

最后因为你的 document.write(sum);写在for循环里面,所以每循环一次就会打印一次。而且因为没有换行所以会显示在一行里面,非常丑。




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

M阿 提问者

非常感谢!
2017-09-19 回复 有任何疑惑可以回复我~

<!DOCTYPE  HTML>

<html >

<head>

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

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


<script type="text/javascript">


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

  var mydate=new Date();

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

  document.write(

      mydate.getFullYear()+"年"+

      (mydate.getMonth()+1)+"月"+

      mydate.getDate()+"日"+" "+

      week[mydate.getDate()]

      );


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

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

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

   document.write(marry);


  //从数组中将成绩撮出来,然后求和取整,并输出。

  var score = new Array();

  var sum=0;

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

  {

     sum+=parseInt(marry[i]);

     document.write(sum);

  }

   document.write("--班级总分为:" + sum);

   document.write(",班级平均分为(保留整数):" + Math.round(sum/marry.length));


</script>

</head>

<body>

</body>

</html>


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

举报

0/150
提交
取消

是哪错了吗?为什么显示不出来

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