制作一个万年历(基于控制台输入)的一种写法
demo
package com.js.task.demo;
import java.util.Calendar;
import java.util.Scanner;
/*
* 使用Calendar完成一个万年历
要求:键盘输入一个年份和月份,控制台输出当月的日历
*/
public class Task {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入一个年份");
int year=input.nextInt();
System.out.println("请输入一个月份");
int month=input.nextInt();
System.out.println(year+"年"+month+"月");
System.out.println("一\t二\t三\t四\t五\t六\t日");
Calendar calendar=Calendar.getInstance();
//设置日期为1号
calendar.set(year, month-1, 1);
//获得当月最大天数
int maxday=calendar.getActualMaximum(Calendar.DATE);
//获得当月第一天的星期
int w=calendar.get(Calendar.DAY_OF_WEEK)-1;
StringBuilder sb=new StringBuilder();
for(int i=1;i<w;i++){
sb.append("\t");
}
int count=w;
for(int i=1;i<=maxday;i++){
sb.append(i+"\t");
count++;
if(count==8){
sb.append("\n");
count=0;
}
}
System.out.println(sb.toString());
}
}