凯撒日期的意思就是当输入某年某月某日,可以判断出截至到这一天一共经历了多少天。
比如截至2023年2月11日共有42天
public class KasaDate{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入年份");
int year = sc.nextInt();
System.out.println("输入月份");
int month = sc.nextInt();
//判断月份是否合法
if(month>12||month<1){
System.out.println("月份非法");
System.exit(0);
}
int maxday = 0;
switch(month){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
maxday = 31;break;
case 4:case 6:case 9:case 11:
maxday = 30;break;
case 2:maxday=((y%4==0&&y%100!=0)||y%100==0)?29:28;break;
}
System.out.println("输入日期");
int day = sc.nextInt();
//判断日期是否合法
if(day<1||day>maxday){ //日期是否小于1或者大于每个月的最大天
System.out.println("日期非法");
System.exit(0);
}
int sumdays = day;
//每个月份天数的累加
switch(month-1){
case 11:sumday+=30;
case 10:sumday+=31;
case 9:sumday+=30;
case 8:sumday+=31;
case 7:sumday+=31;
case 6:sumday+=30;
case 5:sumday+=31;
case 4:sumday+=30;
case 3:sumday+=31;
case 2:sumday+=((y%4==0&&y%100!=0)||y%100==0)?29:28;
case 1:sumday+=31;
}
System.out.printf("截至%d年%d月%d日共有%d天",y,m,d,sumday);
}
}