无实际教学意义,纯粹个人学习记录。
package test;
import java.util.Calendar;
import java.util.Scanner;
public class Test{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要查询的日期。格式:yyyy-mm-dd");
String strDate = sc.next();
java.sql.Date date = java.sql.Date.valueOf(strDate); //String转date
Calendar cal = Calendar.getInstance();
cal.setTime(date);//设置date
int maxDate = cal.getActualMaximum(Calendar.DATE); //一个月最多几天
int nowDate = cal.get(Calendar.DATE); //当前是几号
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); //一周第几天
//输出日一二三四五六
System.out.println("日t一t二t三t四t五t六");
for (int i = 1; i<= dayOfWeek;i++){
System.out.print(' '+"t");
}
//循环输出当月天数
int count = 1 + dayOfWeek; //第几天统计
for (int i = 1 ; i <= maxDate ; i++ ){
if (i == nowDate){
System.out.print(i+"*"+"t");
}else {
System.out.print(i+"t");
}
count++;
if (count%7 == 1){
System.out.println();
}
}
}
}
运行效果如下:



