1、方法,需要一个年份,一个月份。然后在控制台输出日历
// 输入一个年份和一个月份显示日历
public static void printCalendar(int year, int month) {
// 转换日期
Calendar calendar = Calendar.getInstance();
// 找到月份第一天
calendar.set(year, month-1, 1);
// 找到第一天是周几 1 周日 2 周一
int week = calendar.get(Calendar.DAY_OF_WEEK);
//System.out.println("week: "+week);
// 获取最大日期
int dayMax = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 循环输出
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t");
// 若第一天不为周日
if(week != 1) {
// 判断01是周几 空格
for(int j = 1;j < week;j++) {
System.out.print(" \t");
}
}
// 循环
for (int i = 1; i <= dayMax; i++) {
// 找到第 i 天
calendar.set(year, month-1, i);
// 第 i 天是周几
int wek = calendar.get(Calendar.DAY_OF_WEEK);
System.out.print(i + "\t");
// 周六回车
if ( wek == 7) {
System.out.println();
} }
}
2、MainTest测试类
public static void main(String[] args) {
// 万年历测试类
Scanner scanner = new Scanner(System.in);
boolean isTrue = true;
while(isTrue) {
System.out.println("-------------万年历------------");
System.out.println("1、查看日历");
System.out.println("0、退出");
int key = scanner.nextInt();
switch (key) {
case 1:
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();
PerpetualCalendar.printCalendar(year, month);
System.out.println();
break;
default:
isTrue = false;
break;
}
}
System.out.println("已退出系统...");
}
3、运行结果:
有帮助,就点个推荐吧,让更多人看到