package zuoye;
import java.util.Scanner;
public class NextDate {
static int year;
static int month;
static int day;
public static int get_cur_data() {
Scanner scan = new Scanner(System.in);
System.out.println("请输入年份");
year = scan.nextInt();
System.out.println("请输入月份");
month = scan.nextInt();
System.out.println("请输入日期");
day = scan.nextInt();
return day + month + year;
}
public static void judge() {
get_cur_data();
//判断基本的输入是否正确
while (year <= 0 || month <= 0 || month > 12 || day <= 0 || day > 31) {
System.out.println("输入有误,请重新输入!");
get_cur_data();
}
//判断小月份是否超过31天
while ((month == 4 || month == 6 || month == 9 || month == 11) && (day > 30)) {
System.out.println("输入有误,请重新输入!");
get_cur_data();
}
//判断闰年2月是否超过29天
while ((month == 2 && (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))) && (day > 29)) {
System.out.println("输入有误,请重新输入!");
get_cur_data();
}
//判断非闰年2月是否超过28天
while ((month == 2 && (!(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)))) && (day > 28)) {
System.out.println("输入有误,请重新输入!");
get_cur_data();
}
System.out.println("Date is true");
getNextDateByXJH();
}
public static void getNextDateByXJH() {
int day1 = 0;
int month1 = 0;
int year1 = 0;
int datemax = 28;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
datemax = 31;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
datemax = 30;
} else if (month == 2 && (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))) {
datemax = 29;
}
day1 = day + 1;
month1 = month;
year1 = year;
if (day1 > datemax) {
day1 = 1;
month1 = month + 1;
year1 = year;
if (month1 > 12) {
month1 = 1;
year1++;
}
}
System.out.println("输入的日期为" + year + "年" + month + "月" + day);
System.out.println("下一天的日期为" + year1 + "年" + month1 + "月" + day1);
}
public static void main(String[] args) {
judge();
}
}