您的位置:首页 > 编程语言 > Java开发

第二个Java程序:本月日历的显示

2012-12-29 15:11 351 查看
显示本月的日历,每周的开始日期按照标准库中规定的日期,当天右侧用"*"进行标注,代码如下:

package Source1;

import java.text.DateFormatSymbols;
import java.util.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;

public class Test2 {
public static void main(String[] args){
GregorianCalendar now = new GregorianCalendar();
int month = now.get(Calendar.MONTH);
int today = now.get(Calendar.DAY_OF_MONTH);
int intent = 0;
now.set(Calendar.DAY_OF_MONTH,1);
int week = now.get(Calendar.DAY_OF_WEEK);
int firstDayOfWeek = now.getFirstDayOfWeek();
while(firstDayOfWeek != week){
++intent;
now.add(Calendar.DAY_OF_MONTH, -1);
week = now.get(Calendar.DAY_OF_WEEK);
}
String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
do{
System.out.printf("%4s",weekdayNames[week]);
now.add(Calendar.DAY_OF_MONTH, 1);
week = now.get(Calendar.DAY_OF_WEEK);
}while(week != firstDayOfWeek);
System.out.println();
for(int i = 0;i < intent;++i){
System.out.print("    ");
}
now.set(Calendar.DAY_OF_MONTH, 1);
week = now.get(Calendar.DAY_OF_WEEK);
int day = now.get(Calendar.DAY_OF_MONTH);
do{
System.out.printf("%3s",day);
if(today == day){
System.out.print("*");
}else{
System.out.print(" ");
}
now.add(Calendar.DAY_OF_MONTH, 1);
week = now.get(Calendar.DAY_OF_WEEK);
day = now.get(Calendar.DAY_OF_MONTH);
if(week == firstDayOfWeek){
System.out.println();
}
}while(month == now.get(Calendar.MONTH));
if(week != firstDayOfWeek){
System.out.println();
}
}
}


运行后截图如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: