日历表

日历表

利用日期类写了一个日历表.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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 CalendarWatch {

public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入日期(格式为:2000-1-1):");
String s=sc.nextLine();
//日期类的使用
Date d=new Date();
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
Calendar c=new GregorianCalendar();
d=sd.parse(s);
System.out.println(d);
c.setTime(d);
System.out.println("你输入了:"+s);
System.out.print("日\t一\t二\t三\t四\t五\t六\t");
System.out.println();
int Day=c.get(Calendar.DAY_OF_MONTH);
c.set(Calendar.DAY_OF_MONTH,1);
int MaxDay=c.getActualMaximum(Calendar.DATE);
for(int i=1;i<c.get(Calendar.DAY_OF_WEEK);i++) {
System.out.print("\t");
}
for(int b=1;b<=MaxDay;b++){
if(c.get(Calendar.DAY_OF_MONTH)==Day) {
System.out.print(c.get(Calendar.DAY_OF_MONTH)+"*"+"\t");
}
else
System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");

if(c.get(Calendar.DAY_OF_WEEK)==7)
System.out.println();
c.add(Calendar.DAY_OF_MONTH, 1);
}

}

}

注意事项

月份的表示,一月是0,二月是1,以此类推,12月是11。 因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。

原创技术分享,您的支持将鼓励我继续创作
0%