標籤:
練習題:
某班的成績出來了,現在老師要把班級的成績列印出來。
:
2014年5月9日 星期六--班級總分為: 班級平均分為:
格式要求:
1、顯示列印的日期。 格式為類似“2014年03月21日 星期三” 的當前的時間。
2、計算出該班級的平均分(保留整數)。
同學成績資料如下:
"小明:87; 小花:81; 小紅:97; 小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76"
任務
第一步:可通過javascript的日期對象來得到當前的日期。
提示:使用Date()日期對象,注意星期傳回值為0-6,所以要轉成文字"星期X"
第二步:一長竄的字串不好弄,找規律後分割放到數組裡更好操作哦。
第三步:分割字串得到分數,然後求和取整。
代碼實現:
<1>html部分
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>date.string</title>
<link rel="stylesheet" type="text/css" href="styles/001.css" />
</head>
<body>
<script src="styles/001.js"></script>
<div id="time"><input type="button" value="點擊擷取時間" onclick="sTime()"/></p></div>
<hr/>
<div id="scor">
<h3>學產生績為:小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76</h3>
<input type="button" value="點擊擷取平均分" onclick="scppp()" />
<input type="text" id="texttt"/>
</div>
</body>
</html>
<2>css部分
*{margin:0;padding:0;}
body{
width:100%;
}
#time{
margin:auto;
height:50px;
}
#scor{
width:100%;
height:60px;
margin-top: 20px;
}
<3>js部分
1.第一種方法
//擷取時間
function sTime()
{
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
var d = new Date(); //返回當前日期
var x=d.getFullYear(); //返回四位元年份
var y=d.getMonth(); //返回當前月份 0:一月
z=y+1;
s=d.getDate(); //返回日
var i=d.getDay(); //返回星期 0:星期日
document.getElementById("time").innerHTML=x+"年"+z+"月"+s+"日"+weekday[i];
}
//學產生績
function scppp(){
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sco1=new Array();
var j=0;
sco1=scoreStr.split(":"); //以“:”為分隔分隔這和字串,分割後的數組元素存入到sco1數組中
for(i=1;i<=sco1.length-1;i++) //由於sco1【0】沒有數字 故從1開始計數 由於本意是想要排除沒有數位sco【0】(小明),但這不太符合編程的計數習慣,那麼我們可以利用if語句來進行判斷,for(i=1;i<=sco1.length-1;i++) if(parseInt(sco【i】=!NaN))再進行加和
{
s=parseInt(sco1[i]); //利用parseInt提取數組元素中的數字
j=j+s;
}
document.getElementById("texttt").value=parseInt(j/(sco1.length-1));
}
2.第二種方法
var scoreStr = "小明:87;小花:81;小紅:97;小天:76;小張:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var myarr = scoreStr.split(";");//第一次字串分割
var num = 0; var str;
for(var i=0;i<myarr.length;i++){
str=myarr[i];//取出數組的所有元素,每個元素其實又是一個字串 一維數組
myarr[i] = new Array();//然後每個元素的字串再進行分割
myarr[i] = str.split(":"); //分割方式,第二次字串分割, 形成二維數組
num =num + parseInt(myarr[i][1]); //二維數組 }
document.write(num); //從數組中將成績撮出來,然後求和取整,並輸出。
JavaScript內建對象,Date String Array等,以及這些對象操作。