JS写一个简单的程序,判断年份是平年还是闰年

JavaScript06

JS写一个简单的程序,判断年份是平年还是闰年,第1张

<script type="text/javascript">

var year=prompt("请输入年份")//弹出输入框

var a1=year%4==0

var a2=year%100!=0

var a3=year%400==0

var result=(a1&&a2)||a3?"该年是闰年":"该年的平年"//三目运算符

alert(result)

 </script>

思路要清晰。

首先明确什么是平年什么是闰年

1、能被4整除且不能被100整除的是闰年

2、能被400整除的是闰年

解题思路:

1、从键盘任意的数以一个数字

2、利用判断语句对其进行判断是否满足条件

利用到的技术:

Scanner的键盘输入

知道了原理其实很容易,要判断是否是闰年,有两种方式:

1,闰年的计算规则:

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。

世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。

所以只要判断年份是否是400的倍数,或者是4的倍数且不是100的倍数即可,这个楼上已经给出答案了。

这种判断方式是所有语言通用的,适用于1852年之后的所有闰年判断。

2,只需要查看二月的天数是28天还是29天即可,利用构造函数 Date() 的传参特性可以轻松实现。

以下代码为 JavaScript 代码,其它语言原理相通,代码需要自己根据原理自行修改。

var y = 2020//要判断的年份

var d = new Date(y, 1, 29)// 参数的年份由y决定,后面两个则是固定值

var isLeap = d.getMonth() == 1//  true 为闰年,false 为平年

console.log( y + "年为" + (isLeap ? "闰年": "平年" ) + ", 2月有" + (isLeap ? 29: 28) +"天"  )