<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
var d=new Date();
var y=d.getFullYear();
var m=d.getMonth();
var de=d.getDate();
document.write(y+"年"+m+"月"+de+"日"+"<br/>")
//通过javascript的日期对象来得到当前的日期,并输出。
var score=[scoreStr.split(";")];
document.write(score+"<br/>");
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sum=0;
var aver=0;
for(int i=0;i<score.length;i++){
sum=sum+parseInt(score[i].slice(3,5));
}
aver=sum/score.length;
document.write(sum);
document.write(parseInt(aver));
//从数组中将成绩撮出来,然后求和取整,并输出。
</script>
</head>
<body>
</body>
</html>
存在问题:
(1)var score=[scoreStr.split(";")];document.write(score+"<br/>");应该放在var scoreStr="......";下 面,先定义后使用,否则获得不到scoreStr。
(2)var score=[scoreStr.split(";")];
split()是将字符串分割为数组。如果再加一个[],就成了var score=[["item1","item2",..."itemN"]];score变成了一个含有一个数组元素的数组。这样split就没有意义了,,相当于没分割。
你可以测试一下:
1)var score=[scoreStr.split(";")]; document.write(score.length);结果:1。
2)var score=scoreStr.split(";"); document.write(score.length);结果:10。
(3)楼上很多人已经提出,JS定义类型只有var,它会根据值的类型决定。所以没有int这些。
(4)月份在JS里是从0开始的,所以getMonth()需要+1才是实际月份。
(5)代码里没看到你写星期getDay(),注意0代表星期天。
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var date=new Date();
var array=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write(date.getFullYear()+"年"+parseInt(date.getMonth()+1)+"月"+date.getDate()+"日"+" "+array[date.getDay()]+"--班级总分为:"+Math.floor(sum/arrays.length));
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var arrays=scoreStr.split(";");
var sum=0;
for(var i=0;i<arrays.length;i++){
sum=sum+parseInt(arrays[i].substr(3,2));
}
//从数组中将成绩撮出来,然后求和取整,并输出。
</script>
</head>
<body>
</body>
</html>
有几点问题:1、var m=d.getMonth();得到的是月份比实际的月份要小1,所以应该改为:var m=parseInt(date.getMonth()+1)
2、var score=[scoreStr.split(";")];有误。scoreStr.split(";");本身还回的就是一个数组,不能再加[]。故应改为:var score=[scoreStr.split(";");即可。
3、for(int i=0;i<score.length;i++)的int改成var。jS声明变量是用var
我是来学你们的,我什么都不会,请大神赐教
哈哈,从java起家的,你要不说我还真没发现.但是把int改成var了之后,sum和aver还是没有呢
朋友 注意啊 这是JavaScript 不是Java 你for(int i=0;i<score.length;i++) 其中的Int 是什么鬼 你改成var 包治百病