java_年月中最大天数,区分闰年平年

流程大概是 1.提示输入年号 2.获得输入的值赋给y 3.提示输入月份 4.获得输入的值赋给m 5.调用zdts()方法,并将y和m的值传递到这个方法进行运算 6.获得zdts()方法的返回值,赋给max 7.显示max的值

图片说明

用日期类Calendar很容易实现

Scanner s = new Scanner(System.in);
System.out.println("请输入年份!!!");
int i = s.nextInt();
System.out.println("请输入月份!!!");
int j = s.nextInt();
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, i);
c.set(i, j, 0);
int a = c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(a);

public class 万年历 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个年份:");
        int year = input.nextInt();
        System.out.println("请输入一个月份:");
        int month = input.nextInt();
        int day = 0;
        for (int i = 1900; i < year; i++) {
            if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
                day = day + 366;
            } else {
                day = day + 365;
            }
        }
        for (int i = 1; i < month; i++) {
            if (i == 2) {
                if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                    day = day + 29;
                } else {
                    day = day + 28;
                }
            } else if (i == 4 || i == 6 || i == 9 || i == 11) {
                day = day + 30;
            } else {
                day = day + 31;
            }
        }

        System.out.println("日\t一\t二\t三\t四\t五\t六");
        int kg = (day + 1) % 7;
        for (int i = 1; i <= kg; i++) {
            System.out.print("\t");
        }
        int t = 0;
        if (month == 2) {
            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                t = 29;
            } else {
                t = 28;
            }
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            t = 30;
        } else {
            t = 31;
        }
        for (int i = 1; i <= t; i++) {
            System.out.print(i + "\t");
            if ((day + i) % 7 == 6) {
                System.out.println();
            }
        }
    }
}

之前学习的时候写过一个万年历的例子,希望对你有所帮助~

没错,Calendar,Calendar,Calendar,Calendar