核心主要是润年和平年的判别:
if ((year%100==0) && (year%4==0) || year%400==0){
//四年一闰;百年不闰,四百年再闰
import java.util.Scanner;
public class MonthDay {
public static void main(String args[]){
//编写程序完成输入年份和月份显示该月份的天数
Scanner input = new Scanner(System.in);
int isRN;
int year;
int month;
int days=0;
System.out.println("请你输入一个年份(大于0的整数)");
year=input.nextInt();
System.out.println("请你输入一个月份(介于1到12的整数)");
month= input.nextInt();
if ((year%100==0) && (year%4==0) || year%400==0){
//四年一闰;百年不闰,四百年再闰
System.out.print(year+"年是润年,"+" ");
isRN=1;
}else {
System.out.print(year+"年不是润年,"+" ");
isRN=0;
}
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
break;
case 4:
case 6:
case 9:
case 11:
days=30;
break;
case 2:days=28+isRN;
break;
}
System.out.print("这个月有"+days+"天");
}
}