编写程序从键盘输入年份值和月份值输出该年当月的日历
时间: 2023-08-05 21:10:29 浏览: 209
以下是Python程序,可以实现从键盘输入年份值和月份值,输出该年当月的日历。
```python
import calendar
year = int(input("请输入年份值:"))
month = int(input("请输入月份值:"))
# 输出日历
print(calendar.month(year, month))
```
运行程序后,会先提示用户输入年份值和月份值,然后调用 `calendar.month()` 函数输出对应年月的日历。
例如,输入年份值为2021,月份值为6,程序将输出2021年6月的日历:
```
请输入年份值:2021
请输入月份值:6
June 2021
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
```
相关问题
java从键盘输入年份和月份, 输出该月份的日历表:
实现该功能的一种方法是使用Java中的Calendar类和SimpleDateFormat类。以下是一个示例代码,它可以从键盘输入年份和月份,并打印出该月份的日历表:
```java
import java.util.Calendar;
import java.util.Scanner;
public class CalendarApp {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年份: ");
int year = scanner.nextInt();
System.out.print("请输入月份: ");
int month = scanner.nextInt();
// 创建一个Calendar对象,设置日期为当月的第一天
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, 1);
// 获取当月的天数
int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 获取当月第一天是星期几
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
// 打印日历表头
System.out.println("日\t一\t二\t三\t四\t五\t六");
// 打印日历表格
int dayOfMonth = 1;
for (int i = 1; i <= 6; i++) {
for (int j = 1; j <= 7; j++) {
if (i == 1 && j < firstDayOfWeek) {
System.out.print("\t");
} else if (dayOfMonth > daysInMonth) {
break;
} else {
System.out.print(dayOfMonth + "\t");
dayOfMonth++;
}
}
System.out.println();
}
}
}
```
运行程序后,它会要求你输入年份和月份。输入后,程序会输出该月份的日历表。例如,输入2022和3,程序将输出以下内容:
```
请输入年份: 2022
请输入月份: 3
日 一 二 三 四 五 六
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
```
注意,该代码只是一种实现方式,还有其他方法可以实现该功能。
创建一个java程序通过键盘输入年份和月份,程序输出相应的日历牌
创建一个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`格式化输出,显示两位数的日期。
阅读全文