我試圖在數字範圍內找到閏年和非閏年。閏年和非閏年需要放入單獨的數組中,稍後我會將它們輸出到表中。我對JavaScript非常陌生,我懷疑我的循環可能是錯誤的,我不確定。試圖在JavaScript中尋找閏年和非閏年
我的問題是,非閏年數組沒有得到所需的所有數字。我進入1900 - 2000年,閏年似乎沒問題,但非閏年陣列只上升到了1930年。我試圖修復它一段時間,但我沒有運氣。
編輯:for
循環只爲我測試數組。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>LeapYears</title>
<script type="text/javascript">
/* <![CDATA[ */
function calcLeapYear() {
var beginYear = document.leapYears.firstYear.value;
var endYear = document.leapYears.secondYear.value;
var leapYrs = new Array();
var nonLeapYrs = new Array();
var ctr = 0
var ctr2 = 0
while (beginYear < endYear){
if (((beginYear % 4 == 0) && (beginYear % 100 != 0)) || (beginYear % 400 == 0)) { /* Determines if year is a leap year or not */
leapYrs[ctr] = beginYear;
++ctr;
}
else {
nonLeapYrs[ctr2] = beginYear;
++ctr2;
}
++beginYear;
}
if (leapYrs == 0){
window.alert("There were no leap years within the range.");
}
for (i=0;i<leapYrs.length;i++){ //Testing Calculation
document.write(leapYrs[i] + "<br/>");
}
document.write("<br/>")
for (i=0;i<leapYrs.length;i++){
document.write(nonLeapYrs[i] + "<br/>");
}
}
/* ]]> */
</script>
</head>
<body>
<form name="leapYears">
Beginning Year: <input type="text" name="firstYear" /> End Year: <input type="text" name="secondYear" />
<input type="button" value="Find Leap Years" onclick="calcLeapYear()" />
</form>
</body>
</html>
''ctr'和'ctr2'的'var'行缺少分號 –
另外,你甚至不需要計數器,你可以使用'leapYrs.push(beginYear)'和類似的方法將一個元素添加到array –
我得看看這個push()方法,剛開始覆蓋數組。 – user3027217