所谓闰年,就是指 2 月有 29 天的那一年。闰年同时满足以下条件:
1.年份能被 4 整除。
2.年份若是 100 的整数倍,须被 400 整除,否则是平年。
例如,1900 年能被 4 整除,但是因为其是 100 的整数倍,却不能被 400 整除,所以是平年;而 2000 年就是闰年;1904 年和 2004 年、2008 年等直接能被 4 整除且不能被 100 整除,都是闰年;2014 是平年。
下面编写一个判断闰年的案例,其主要功能如下:
判断用户输入的年份是不是闰年。
根据年份和月份输出某年某月的天数。
import java.util.Scanner;
/*所谓闰年,就是指 2 月有 29 天的那一年。闰年同时满足以下条件:
年份能被 4 整除。
年份若是 100 的整数倍,须被 400 整除,否则是平年。*/
public class Demo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入年份:");
int year = sc.nextInt();
System.out.print("请输入月份:");
int month = sc.nextInt();
Demo01 d =new Demo01();
d.getYear(year,month);
}
public void getYear(int a, int b) {
int day = 0;
String str;
boolean flag;
if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
flag = true;// 闰年
str = "闰";
} else {
flag = false;// 平年
str="平";
}
switch (b) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 4:
case 6:
case 9:
case 11:
day = 30;
default:
if (flag) {
day = 29;
} else {
day = 28;
}
}
System.out.println(a + "年是" +str+ "年," + b + "月有"+day+"天");
}
}