主要学习了一下calendar类,主要是calendar类中的get,set方法。另外要注意的是calendar类和dateformat类是抽象类是不能用new来初始化的。
package keshihuarili;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
public class Cal {
public static void main(String[] args) {
System.out.println("请输入日期");
Scanner sc = new Scanner(System.in);
String sin = sc.next();
System.out.println("日 一 二 三 四 五 六" );
Date da = new Date();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置格式
try {
da = df.parse(sin);//将输入的字符串转换成date类
Calendar ca = new GregorianCalendar();//注意calendar是抽象类,new的时候不能直接newCalendar
ca.setTime(da);//声明一个日期类等会可以利用calendar类中的函数来进行操作
int day = ca.get(Calendar.DATE);
ca.set(Calendar.DATE, 1);
// System.out.println(day);
int maxDate = ca.getActualMaximum(Calendar.DATE);
// System.out.println(maxDate);
// System.out.println(ca.get(Calendar.DAY_OF_WEEK));
for(int i = 1;i<ca.get(Calendar.DAY_OF_WEEK);i++){
System.out.print("\t");
}
// System.out.println(ca.get(Calendar.DATE));
for (int i = 1; i <= maxDate; i++) {
int w = ca.get(Calendar.DAY_OF_WEEK);
if(ca.get(Calendar.DATE) == day){
System.out.print("*");
}
System.out.print(i+"\t");
if(w==Calendar.SATURDAY){
System.out.println("\n");
}
ca.add(Calendar.DATE, 1);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sc.close();
}
}