佛山新网站制作怎么样,惠州公司注册,网站建设一般考虑哪些因素,wap网站源码.net首先要明白
地球绕太阳运行周期为365天5小时48分46秒#xff08;合365.24219天#xff09;#xff0c;即一回归年#xff08;tropical year#xff09;。公历的平年只有365日#xff0c;比回归年短约0.2422 日#xff0c;每四年累积约一天#xff0c;把这一天加于2月末…首先要明白
地球绕太阳运行周期为365天5小时48分46秒合365.24219天即一回归年tropical year。公历的平年只有365日比回归年短约0.2422 日每四年累积约一天把这一天加于2月末2月29日使当年的历年长度为366日这一年就为闰年。 按照每四年一个闰年计算平均每年就要多算出0.0078天经过四百年就会多出大约3天来因此每四百年中要减少三个闰年。所以规定公历年份是整百数的必须是400的倍数才是闰年不是400的倍数的就是平年。比如1700年、1800年和1900年为平年2000年为闰年。闰年的计算归结起来就是通常说的四年一闰百年不闰,四百年再闰。
1、年份不是闰年的年份就是平年
2、平年一年365天阳历2月28天闰年一年366天阳历2月29天。
3、闰年能被4整除平年不能。
简单判断
①一般的,能被4整除的年份是闰年,不能被4整除的年份是平年。
如:1988年2008年是闰年;2005年2006年2007年是平年。
②但是如果是世纪年(也就是整百年),就只有能被400整除才是闰年,否则就是平年。
如:2000年就是闰年,1900年就是平年。
③闰年的2月有29天,平年的2月只有28天 代码判断
代码判断某年是否是闰年的方法如下从下面任一角度均可判断出闰平年角度1能被 4 整除且不能被 100 整除的年份是闰年非世纪年。如20202004角度2
能被 400 整除的年份一定是闰年能被400整除肯定能被100整除故该年为世纪年。如160020002400,2800
角度3
能被 100 整除世纪年且不能被 400 整除的年份为平年。如1900
角度2,3可以看成一种只是判断条件反一下而已
写法一
角度1角度2
import java.util.Scanner;public class yearTest {public static void main(String[] args) {System.out.println(请输入年份);int year new Scanner(System.in).nextInt();if (year%40){ //角度1//year%1000说明是非世纪年 year%400!0余数不为0表示不能被400整除//角度2能被 400 整除的年份一定是闰年能被400整除肯定能被100整除该年为世纪年;//二者不可同时成立故用||“或”。如160020002400,2800if (year%100!0 || year%4000){System.out.println(year%4,year%100,year%400);System.out.println(year是闰年);}else {System.out.println(year%4,year%100,year%400);System.out.println(year是平年);}}else {System.out.println(是平年);}}}写法二
角度1角度3
import java.util.Scanner;public class year {public static void main(String[] args) {System.out.println(请输入年份);int year new Scanner(System.in).nextInt();if (year%40){ //角度1//year%1000说明是世纪年 year%400!0余数不为0表示不能被400整除//角度3能被 100 整除世纪年且不能被 400 整除的年份为平年。如1900if (year%1000 year%400!0){System.out.println(year%4,year%100,year%400);System.out.println(year是平年);}else {System.out.println(year%4,year%100,year%400);System.out.println(year是闰年);}}else {System.out.println(是平年);}}}
写法三最简 import java.util.Scanner;public class yearTest2 {public static void main(String[] args) {System.out.println(请输入年份);int year new Scanner(System.in).nextInt();//角度1year % 4 0 year % 100 ! 0//角度2year % 4 0 year % 400 0 等同于 year % 400 0if (year % 4 0 (year % 100 ! 0 || year % 400 0)) {System.out.println(year 是闰年);} else {System.out.println(year 是平年);}}}
代码对比 if (year%40){//year%1000说明是世纪年 year%400!0余数不为0表示不能被400整除if (year%1000 year%400!0){ if (year%40){//year%1000说明是非世纪年 year%4000余数为0表示能被400整除if (year%100!0 || year%4000){
//角度1year % 4 0 year % 100 ! 0//角度2year % 4 0 year % 400 0 等同于 year % 400 0
if (year % 4 0 (year % 100 ! 0 || year % 400 0)) {
总结
满足下列二者情况之一的为闰年反之为平年
非世纪年 且 能被 4 整除为闰年。
能被 400 整除为闰年。能被400整除肯定可以被100整除故为世纪年 朋友
看到这里了点个赞再走吧