Java戦闘3:日付を入力し、翌日の日付を表示します

Java戦闘3:日付を入力し、翌日の日付を表示します

要件
設計プログラムは日付を入力し、翌日の日付を表示します。

コードは次のように表示されます。

import java.util.Scanner;
public class nextDate{
    
    
    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 语句判断输入的年、月是否合法,要求 0<y<9999
        if(y<=0||y>=9999) {
    
    
            System.out.println("年不合法!");
        }
        if(m<=0||m>=13) {
    
    
            System.out.println("月不合法!");
        }

        //判断闰年
        //闰年:1.能被400整除 2.能被4整除,但不能被100整除
        if((y % 400 == 0)||(y % 4 == 0 && y % 100 != 0)){
    
    
            isLeap = true;
        }

        //用 switch 语句判断月份,求出该月份的天数
        //平年
        if(isLeap==false){
    
    
            switch(m) {
    
    
                case 1:case 3:case 5:case 7:case 8:case 10:case 12:dnum=31; break;
                case 4:case 6:case 9:case 11:dnum=30;break;
                case 2:dnum=28;break;
            }
        }
        //闰年
        else{
    
    
            switch(m) {
    
    
                case 1:case 3:case 5:case 7:case 8:case 10:case 12:dnum=31; break;
                case 4:case 6:case 9:case 11:dnum=30;break;
                case 2:dnum=29;break;
            }
        }
        
        //判断日期是否合法
        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("下一天:");
        System.out.println(y + "-" + m + "-" + d);
    }
}

演算結果:

1.正常
ここに画像の説明を挿入
2.不正な入力:
ここに画像の説明を挿入
3。うるう年:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46020391/article/details/112299714
おすすめ