分析:闰年具体的判定方法就要看它的判定条件:四年一闰 , 百年不闰 ,400年再闰。而计算该年该月的天数,又分大月和小月,特殊月份2月之分。
下面给出具体算法:
import java.util.Scanner;
import java.text.MessageFormat;
public class Test02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个4位数的年份(1900~2099):");
int year = input.nextInt();
if(year >=1900 && year <= 2099){
System.out.println("请输入月份(1~12):");
int month = input.nextInt();
if(month >=1 && month <= 12){
// 计算该年该月的天数
// 大月和小月,特殊月份2月
int day=31;
switch(month){
case 4: case 6: case 9: case 11:
day=30;
break;
case 2:
// 判定条件:四年一闰 && 百年不闰 || 400年再闰
boolean isLeapYear=(year%4==0 && year%100!=0) || year%400==0;
//三元运算符判定
day= isLeapYear ? 29 : 28;
break;
}
String info = MessageFormat.format("{0}年{1}月{2}天",year,month,day);
System.out.println(info);
}else{
System.out.println("请输入正确的月份");
}
}else{
System.out.println("请输入一个1900~2099之间的年份");
}
}
}
每天进步一点点,致各位正在奋斗的小青年,喜欢就动动手指点个赞吧!