创建一个java程序通过键盘输入年份和月份,程序输出相应的日历牌
时间: 2024-12-08 10:15:11 浏览: 12
创建一个Java程序来生成给定年月的日历是一个常见的练习。我们可以使用`java.time`包下的`MonthDay`和`YearMonth`类来进行这个任务。下面是一个简单的示例程序:
```java
import java.time.LocalDate;
import java.time.Month;
import java.util.Scanner;
public class CalendarGenerator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份(1-12):");
int month = scanner.nextInt();
// 检查输入是否有效
if (month < 1 || month > 12 || year < 1) {
System.out.println("无效的月份或年份!");
return;
}
Month monthObj = Month.of(month);
YearMonth yearMonth = YearMonth.of(year, monthObj);
LocalDate calendarDate = yearMonth.atDay(1); // 获取该月第一天
// 输出日历
System.out.println("\n----- " + yearMonth + " 日历 -----");
for (LocalDate day : calendarDate.with(TemporalAdjusters.lastDayOfMonth()).with(TemporalAdjusters.previousOrSame(LocalDate.now()))) {
System.out.printf("%2d ", day.getDayOfMonth());
}
System.out.println(); // 添加换行
}
}
```
在这个程序中,用户通过键盘输入年份和月份,然后程序创建一个`YearMonth`对象。接着,它找出该月的第一天,并生成从这一天到当月最后一天的所有日期列表。每天都是通过`printf`格式化输出,显示两位数的日期。
阅读全文