题目:用java写出一个日历小程序,用SimpleDateFormat类的静态方法parse方法,把字符串变成date对象,再建立两个Calendar对象,一个判断换行,一个判断输入日期,并做标记。
package com.sxt;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class CalendarDemo {
public static void main(String[] args) throws ParseException {
//把字符串输入输入到Calendar类中
Scanner sc=new Scanner(System.in);
System.out.println("请输入日期:(2008-12-30)");
String next = sc.next();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(next);
Calendar cl = Calendar.getInstance();
Calendar c2=Calendar.getInstance();
cl.setTime(d);
c2.setTime(d);
//打印星期
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
//判断1号是星期几
c2.set(Calendar.DATE, 1);
int j= c2.get(Calendar.DAY_OF_WEEK);
for(int i=0;i<j;i++) {
System.out.println("\t");
}
//判断一个月多少天
int Max = cl.getActualMaximum(Calendar.DATE);
//判断输入的日期,加*号标记
for(int i=1;i<=Max;i++) {
String r=i+"";
if(cl.get(Calendar.DATE)==i) {
r=i+"*";
}
c2.set(Calendar.DATE,i);
System.out.print(r+"\t");
if(c2.get(Calendar.DAY_OF_WEEK)==7) {
System.out.println();
}
}
}
}