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

自己摸索了两种方法,希望各位指点。

标签:
Java

因为之前用的检索“:”的位置加后面scoreStr.substr(first+1,2),来获取元素,但是想到有人100分怎么办,因此将后面的索取改为了另外一个变量second,由获取“;”来获取,这样即时100分也可以获取,只需要解决最后一个成绩没有“;”怎么办,这就可以利用.length来获取。不过分隔是最简单的方法。

 //通过javascript的日期对象来得到当前的日期,并输出。
    var date=new Date();
    var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
    var d=date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日"+weekday[date.getDay()];
    document.write(d+":<br />");
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
//定义了一些变量,分别是开始的下标,结束的下标,成绩总成绩和人数
    var start=0;
    var end=0;
    var sum=0;
    var i=0;
    var score=0;
/*写一个循环,利用当最后一个“;”和“:”被检索后first为-1的特性,做判断,当first为-1时跳出循环,当second为-1的时候做最后一次成绩累加。*/  
  while(true){
        first=scoreStr.indexOf(":",start);
        second=scoreStr.indexOf(";",end);
        if(first<0){
            break;
        }else if(second>0){
        score=parseInt(scoreStr.substr(first+1,second+1));
        sum=sum+score;
        i++;
        start=first+1;
        end=second+1;
        }else{
        score=parseInt(scoreStr.substr(first+1,(scoreStr.length-1)));
        sum=sum+score;
            i++;
            break;
        }
    }
    document.write(sum+"<br />"+(sum/i));

下面是分隔的方法

var date=new Date();
    var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
    var d=date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDay()+"日"+weekday[date.getDay()];
    document.write(d+":<br />");
    var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
//用“;”分割成“名字:成绩”这样的数组。  
var scoreName=scoreStr.split(";");
    var score;
    var sum=0;
/*用“:”来分割第一次分割得到数组,获取新的数组,新数组的第二位就是成绩然后把他取出来转化成数字就可以运算了。*/
    for(var i=0;i<scoreName.length;i++){
        score=scoreName[i].split(":");
        sum=sum+parseInt(score[1]);
    }
    document.write(sum+"<br />"+sum/scoreName.length);
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消