package com.mxy.java;
import java.util.Scanner;
/**
* 4.输入年月日 返回日期为当前的第几天
*
* @author MXHstrat
* @create 2021 - 10 - 27 20:26
*/
public class Test04 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
boolean isRN = true;
//isRN 用来裁定是否为润年 或是 平年
System.out.println("请输入年份:");
int year = in.nextInt();
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("该年为闰年\n");
isRN = true;
} else {
System.out.println("该年为平年\n");
isRN = false;
}
System.out.println("请输入月份:");
int month = in.nextInt();
//月份>12 提示输入错误
if (month > 12) {
System.err.println("输入的月份有误,请重新输入!");
return;
}
System.out.println("请输入日期:");
int day = in.nextInt();
//判断为闰年或是平年的2月份天数
if (isRN && month == 2) {
if (day > 29) {
System.err.println("闰年 对应2月的日期有误,请重新输入!");
return;
}
} else if (!isRN && month == 2) {
if (day > 28) {
System.err.println("平年 对应2月的日期有误,请重新输入!");
return;
}
}
//根据输入的月份 判断该月份的天数能不能超过31天
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
if (day > 31) {
System.err.println(month + "月对应的日期有误,请重新输入!");
return;
}
} else {
if (day > 30) {
System.err.println(month + "月对应的日期有误,请重新输入!");
return;
}
}
int sum = 0;
switch (month) {
case 12:
sum += 30;
case 11:
sum += 31;
case 10:
sum += 30;
case 9:
sum += 31;
case 8:
sum += 30;
case 7:
sum += 30;
case 6:
sum += 31;
case 5:
sum += 30;
case 4:
sum += 31;
case 3:
if (isRN) {
sum += 29;
} else {
sum += 28;
}
case 2:
sum += 31;
case 1:
sum += day;
break;
}
System.out.println(year + "-" + month + "-" + day + " 为当年的第" + sum + "天");
}
}
结果示例:
|