<!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?myweek=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
???var?scoreStr?=?"小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
???var?scorearr=new?Array();
???scorearr=scoreStr.split(";");
???var?scoreSum=0;
????for(i=0;i<scorearr.length;i++)
??{
?????scoreSum=scoreSum+parseInt(score[i].substring(3,2));
???}
??document.write(mydate.getFullYear()+"年"
????????????????+(mydate.getMonth()+1)+"月"
+mydate.getDate()+"日"
+myweek[mydate.getDay()]
+"--班級總分為:"+scoreSum
+"<br/>");
??
???var?average?=?parseInt(scoreSum/?n);
???document.write("<br/>全班平均分為"?+?average);
</script>
</head>
<body>
</body>
</html>
2016-03-27
有三個地方有問題:
????1. 定義myweek的時候,數(shù)組里面的逗號要英文下的逗號
????2.?? ? ?scoreSum=scoreSum+parseInt(scorearr[i].substring(3,5)); ?里面的數(shù)組名你寫錯了,是scorearr,截取的區(qū)間也錯了
????3.?var average = parseInt(scoreSum/scorearr.length); 你的n不知道哪里來的
2016-03-27
樓上指出的基本都對,不過代碼都寫得有些復雜,不便于新手理解,下面是我改過的代碼,更簡練易懂,你可以參考看看:
<html > ? ?
<head> ? ?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ? ?
<title>系好安全帶,準備啟航</title> ? ?
<script type="text/javascript"> ? ?
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"; ? ?
var s=scoreStr.split(";"); ? ?
var sum=0; ? ?
var pj=0; ? ?
var rq=new Date(); ? ?
var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; ? ?
for(var i=0;i<s.length;i++){ ? ?
sum=sum+parseInt(s[i].substring(3)); ? ?
} ? ?
pj=sum/s.length; ? ?
pj=Math.floor(pj); ? ?
document.write(rq.getFullYear()+"年"+(rq.getMonth()+1)+"月"+rq.getDate()+"日"+" "+week[rq.getDay()]+"  "+"班級的總分為:"+sum+"  "+"班級的平均分為:"+pj); ? ?
</script> ? ?
</head> ? ?
<body> ? ?
</body> ? ?
</html> ? ?
2016-03-27
您好,試過您的代碼以后,我做了如下改動:
定義myweek數(shù)組時的逗號將其改為英文輸入格式;
for(i=0;i<scorearr.length;i++)
??{
?????scoreSum=scoreSum+parseInt(score[i].substring(3,2));
???}
①?for循環(huán)語句中,parseInt函數(shù)中score數(shù)組名改為之前定義的scorearr
② 運用substring方法時,將括號內(nèi)的數(shù)字改為只有3或者改為3和5;或者改為使用substr方法,則不需要動括號內(nèi)的數(shù)字
var?average?=?parseInt(scoreSum/?n);
改動:由于之前并沒有定義字符n,故此時可將n改為scorearr.length;或者定義n,把scorearr.length的值賦給n
根據(jù)題目要求,將JS輸出班級總分為的冒號改為英文輸入格式
只能改動到如此地步, 如有不周之處,請諒解。一起努力吧!
2016-03-27
<script type="text/javascript">
var mydate=new Date();//獲取當前時間
var year=mydate.getFullYear();//獲取年份
var month=mydate.getMonth()+1;//獲取月份
var date=mydate.getDate();//獲取日期
var day=['星期天','星期一','星期二','星期三','星期四','星期五','星期六']//星期返回值為0-6,所以要轉(zhuǎn)成文字"星期X"
? ? var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var myarr=scoreStr.split(";")//以分號間隔,將字符串轉(zhuǎn)為數(shù)組
var y=myarr.length;//用y儲存字符串長度
for(i=0;i<y;i++){
? ? ? ? myarr[i]=myarr[i].substr(-2,2);//截取字符串最后兩個字符
? ? ? ? myarr[i]=parseInt(myarr[i]);//字符串→數(shù)字
? ? ? ? }
? ? var sum=0,ave=0;//初始化總分和平均分
? ? for(i=0;i<y;i++){
? ? ? ? sum=sum+myarr[i]//計算總分
? ? ? ? }
? ? ave=sum/y;//計算平均分
? ? ave=Math.round(ave);//平均分四舍五入
document.write(year+"年"+month+"月"+date+"日 "+day[mydate.getDay()]+"--班級總分為"+sum+"分,平均分為:"+ave+"分")
</script>
以上所有代碼均帶注釋
2016-03-27
scoreSum=scoreSum+parseInt(score[i].substring(3,2));//這里寫錯了數(shù)組名字,還有substring的用法,自己百度這個函數(shù)用法
改成scoreSum=scoreSum+parseInt(scorearr[i].substring(3,5));
var?average?=?parseInt(scoreSum/?n);//這里n未定義應(yīng)該改成數(shù)組的長度var average = parseInt(scoreSum/scorearr.length);
2016-03-27
你的scoreStr定義的是一個字符串,他根本不是數(shù)組,不能引用數(shù)組的屬性;你直接吧他定義成一個數(shù)組看看