在命令行输入年份和月份,打印输出月历的 Java 代码如下:
import java.util.Calendar;
import java.util.Scanner;
public class CalendarPrint {
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 week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
// 计算月份的天数
int days = calendar.getActualMaximum(Calendar.DATE);
// 打印月历
System.out.println("日 一 二 三 四 五 六");
for (int i = 0; i < week; i++) {
System.out.print(" ");
}
for (int i = 1; i <= days; i++) {
System.out.printf("%2d ", i);
if ((i + week) % 7 == 0) {
System.out.println();
}
}
}
}
在命令行中运行时,首先读入年份和月份,然后创建 Calendar 对象,设置年份和月份,并获取月份的天数。接着计算月份的第一天是周几,并使用循环打印月历。