问答详情
源自:7-23 编程练习

为什么按照我的方法,结果没有出来啊,帮忙看看,谢谢了

<!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();
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(
    mydate.getFullYear()+"年"+
    (mydate.getMonth()+1)+"月"+
    mydate.getDate()+"日"+"&nbsp"+
    weekday[mydate.getDay()]);
  //通过javascript的日期对象来得到当前的日期,并输出。
  
  

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

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


提问者:慕粉3686312 2016-08-03 21:56

个回答

  • qq_深渊_1
    2016-08-03 23:00:41

    你的:

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

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

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

     var score1=new Array();

     var score1=score.split(":");

    var sum=0;

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

        sum+=parseInt(score1[i]);

        }

    该成:

      var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
     
      //从数组中将成绩撮出来,然后求和取整,并输出。
      var score=scoreStr.split(";");
      var score1=new Array();
      var sum=0;
      for(var i=0;i<score.length;i++)
      {
       var score2=score[i].split(":");
       score1[i]=score2[1];
       }
      for(var j=0;j<score1.length;j++)
      {
       sum+=parseInt(score1[j]);
       }

  • 水里有条鱼
    2016-08-03 22:24:41

    有两个问题,第一

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

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

    这两个连在一起,第一条结果被覆盖掉,所以第一条没什么用了

    第二

     var score1=score.split(":");

    如果上面第一条没用,在以符号":"分隔时,分隔后变成:

    小明 

    87,小花

    81,小红

    ,97,小天

    76,小张

    74,小小

    94,小西

    90,小伍

    76,小迪

    64,小曼

    76

    所以后面的会错


    可以改成:

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

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

     var score2 = "";

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

    score2 =  score2 + score[i] + ":" ;

     }

     var score1=new Array();

     var score1=score2.split(":");

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

    document.write(score1[i]+"<br>");

     }

    var sum=0;

    for (var i=1;i<score1.length;i=i+2){  //这里把<=改为<

        sum+=parseInt(score1[i]);

        }

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

       

    document.write(sum/score1.length*2);