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) +"天" )