java写2023年的日历用一维数组注释用中文
以下是使用一维数组编写的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方法用于获取月份名称
原文地址: https://www.cveoy.top/t/topic/ihQt 著作权归作者所有。请勿转载和采集!