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();
	}

}