//1.键盘录入提示信息:
Scanner sc =new Scanner( System.in );
System.out.print("请输入你想要查看的日期:请按照:(2020-7-12)的格式进行输入:" );
String strDate = sc.next();
System.out.println( strDate+"的日历:" );
//2.将上面接受的String-->Calendar:
//2.1:String-->Date;
java.sql.Date d = java.sql.Date.valueOf( strDate );
//2.2Date--->Calendar:
Calendar cal = Calendar.getInstance();
cal.setTime( d );
//3.输出日历的星期几一到星期日:
System.out.println("日\t一\t二\t三\t四\t五\t六\t" );
//4。遍历一到本月最大天的天数:
//4.1:先求出本月的最大天数:
int maxDate = cal.getActualMaximum( Calendar.DATE );
//8.求出当天日期:
int nowDate = cal.get( Calendar.DATE );
//9.求出本月的第一天是这周中的星期几:
//9.1将日期置成本月的第一天:
cal.set( Calendar.DATE,1 );
int dayOfWeek = cal.get( Calendar.DAY_OF_WEEK );
//10.求出一号前面的空格数:
int space = dayOfWeek -1;
//6.引用一个计数器,用来计算换行:每7个就换行:
int count = space;
//11.遍历space:
for (int a =1;a <= space;a++){
System.out.print("\t");
}
//5:遍历本月的最大天数:
for (int a =1; a <= maxDate; a++) {
//7.在当天日期上加上一个*号
if (a == nowDate){
System.out.print(a+"*\t");
}else{
System.out.print(a+"\t");
}
count++;
if (count %7 ==0){
System.out.println();
}
}