显示下一天日期

设计程序要求输入一个日期后,可以显示下一天日期。
import java.util.Scanner;
public class Test01 {
    public static void main(String[] args) {
        int y, m, d; //年、月、日
        int dnum = 0; //月里的天数
        boolean isLeap = false; //是否为闰年
        System.out.println("请输入年月日信息,格式为:年-月-日");
        Scanner scanner = new Scanner(System.in);
        //以字符串方式输入日期并分离出年月日
        String date = scanner.nextLine();
        String ymd[] = date.split("-");
        y = Integer.parseInt(ymd[0]);
        m = Integer.parseInt(ymd[1]);
        d = Integer.parseInt(ymd[2]);
        //用 if 语句判断输入的年、月是否合法,要求 1000<y<9999
        if ((y < 9999 && y > 1000 && m <= 12 && m >= 1)) {
            if ((y % 400 == 0) || (y % 4 == 0 && y % 100 != 0)) {
                isLeap = true;
            }
            //用 switch 语句判断月份,求出该月份的天数
            int t;
            if(isLeap)t=29;
            else t=28;
            switch (m){
                case 1:dnum=31;
                case 2:dnum=t;
                case 3:dnum=31;
                case 4:dnum=30;
                case  5:dnum=31;
                case   6:dnum=30;
                case  7:dnum=31;
                case  8:dnum=31;
                case  9:dnum=30;
                case 10:dnum=31;
                case 11:dnum=30;
                case 12:dnum=31;

            }
            if (d < 1 || d > dnum) {
                System.out.println("日期不合法!");
                return;
            }
            if (d != dnum) {
                d++;
            } else {
                if (m == 12) {
                    y++;
                    m = 1;
                    d = 1;
                } else {
                    m++;
                    d = 1;
                }
            }
            System.out.println(y + "-" + m + "-" + d);
        }
    }
}

 

posted @ 2022-04-06 14:30  HzzzzLi  阅读(40)  评论(0)    收藏  举报