以下是使用一维数组编写的2023年日历的Java代码,其中包含了中文注释:

public class Calendar2023 {
    public static void main(String[] args) {
        // 定义一维数组存储每个月的天数
        int[] daysInMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

        // 定义一维数组存储每个月的起始星期几(0表示星期日,1表示星期一,以此类推)
        int[] startOfWeek = new int[12];

        // 计算2023年1月1日(星期日)到每个月的起始星期几
        int totalDays = 0;
        for (int i = 0; i < 12; i++) {
            startOfWeek[i] = (totalDays + 2) % 7; // 因为2023年1月1日是星期日,所以加2
            totalDays += daysInMonth[i];
        }

        // 打印2023年日历
        System.out.println("2023年日历");
        System.out.println("--------------------");

        for (int i = 0; i < 12; i++) {
            // 打印月份
            System.out.println("\n" + getMonthName(i) + " 2023");
            System.out.println("--------------------");
            System.out.println("日  一  二  三  四  五  六");

            // 打印每个月的日历
            int dayOfWeek = startOfWeek[i];
            for (int j = 0; j < dayOfWeek; j++) {
                System.out.print("   "); // 打印起始星期几前的空格
            }
            for (int day = 1; day <= daysInMonth[i]; day++) {
                System.out.printf("%2d ", day); // 打印日期
                if ((dayOfWeek + day) % 7 == 0) {
                    System.out.println(); // 每周换行
                }
            }
            System.out.println();
        }
    }

    // 获取月份名称
    public static String getMonthName(int month) {
        String[] monthNames = {"一月", "二月", "三月", "四月", "五月", "六月",
                "七月", "八月", "九月", "十月", "十一月", "十二月"};
        return monthNames[month];
    }
}

这段代码通过计算每个月的起始星期几,使用循环打印出2023年的日历。每个月的日期按照星期排列,每周换行。其中,daysInMonth数组存储了每个月的天数,startOfWeek数组存储了每个月的起始星期几。getMonthName方法用于获取月份名称

java写2023年的日历用一维数组注释用中文

原文地址: https://www.cveoy.top/t/topic/ihQt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录