java怎么循环输出每个月的日历表
时间: 2024-02-17 12:05:30 浏览: 131
Java输出月份日历
您好,以下是一个示例代码,可以循环输出每个月的日历表:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class CalendarPrinter {
public static void main(String[] args) {
int year = 2022; // 年份
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
for (int month = 1; month <= 12; month++) { // 循环输出每个月的日历表
LocalDate date = LocalDate.of(year, month, 1);
int daysInMonth = date.lengthOfMonth(); // 获取本月天数
int firstDayOfWeek = date.getDayOfWeek().getValue(); // 获取本月第一天是星期几
String[][] calendar = new String[6][7]; // 存储本月日历表
int dayOfMonth = 1;
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 7; j++) {
if (i == 0 && j < firstDayOfWeek - 1) {
calendar[i][j] = " "; // 填充空白
} else if (dayOfMonth > daysInMonth) {
calendar[i][j] = " "; // 填充空白
} else {
calendar[i][j] = String.format("%2d", dayOfMonth++); // 填充日期
}
}
}
System.out.println(date.getMonth().toString() + " " + year); // 输出月份和年份
System.out.println("Mo Tu We Th Fr Sa Su"); // 输出星期标题
for (String[] row : calendar) {
for (String day : row) {
System.out.print(day + " ");
}
System.out.println();
}
System.out.println();
}
}
}
```
这段代码使用 Java 8 的日期时间 API,计算出每个月的天数和第一天是星期几,然后生成一个二维数组存储日历表,最后循环输出日历表。运行代码后,会输出 2022 年每个月的日历表。
阅读全文