任务:某班的成绩出来了,现在老师要把班级的成绩打印出来。
要求最后打印出
1:显示打印的日期。 格式为类似“XXXX年XX月XX日 星期X” 的当前的时间。
2:计算出该班级的平均分(保留整数)
同学成绩数据如下:
"小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"
思路:
1.通过Date 对象依次获取年、月、日及星期几,这里注意getMonth()获取的是0-11,因而输出时getMonth()要加1,星期几用getDay()可以获取0-6的数字,需把它转化为星期日至六
2.把字符串分割放到数组里后再进行操作
3.分割字符串得到分数再求和取平均数,这里注意要用parseInt()函数把字符串转化为整型
最后的代码输出为:
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var dd=new Date();
var y=dd.getFullYear();
var m=dd.getMonth()+1;
var d=dd.getDate();
var week=new Array("日","一","二","三","四","五","六");
document.write(y+"年"+m+"月"+d+"日"+"星期"+week[dd.getDay()]+"<br>");
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦 从数组中将成绩撮出来,然后求和取整,并输出。
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var newscore=scoreStr.split(";");
var sum=0;
var avg=0;
for(var i=0;i<newscore.length;i++){ sum +=parseInt(newscore[i].substr(newscore[i].indexOf(":")+1)); }
avg =Math.round(sum/newscore.length);
document.write("班级平均分为:"+avg);
</script>
</head>
<body>
</body>
</html>