说在前面的废话:
GregorianCalendar是Calendar的一个子类,提供了世界上大部分国家/地区使用日历的标准。
月份:一月是0,二月是1.以此类推。
星期:周日是1,周一是二......周六是7.
废话不说,直接上代码
public static void main(String[] args) {
//先获取用户的输入信息
Scanner in = new Scanner(System.in);
System.out.println("请输入年份:");
int year = in.nextInt();
System.out.println("请输入月份:");
int month = in.nextInt();
System.out.println("请输入日期:");
int day = in.nextInt();
//根据用户的输入信息,实例化一个Calendar对象
GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);
System.out.println("\t\t"+ year + "年"+ month + "月");
System.out.println("日\t一\t二\t三\t四\t五\t六");
//把日期设置为当月的第一天
calendar.set(Calendar.DAY_OF_MONTH,1);
for (int i=1;i
System.out.print("\t");
}
do { //如果碰到用户输入的那一天,我们多加一个*,因为爱情。
if (calendar.get(Calendar.DAY_OF_MONTH) == day)
System.out.print(calendar.get(Calendar.DAY_OF_MONTH) + "*\t");
else System.out.print(calendar.get(Calendar.DAY_OF_MONTH) + "\t");
//前言说过,星期六得到的星期其实是7,我们根据这个判断换行
if (calendar.get(Calendar.DAY_OF_WEEK) == 7)
System.out.println();
//输出一天后,我们在calendar上加一天,只要还是这个月,就一直输出,然后当月的日历就输出完了。
calendar.add(Calendar.DAY_OF_MONTH,1);
}while (calendar.get(Calendar.MONTH) == month-1);
}
效果图: