您的位置:首页 > 其它

输出当前月份日历(Print a calendar of present month)

2008-05-11 22:37 731 查看
/**
@version 1.0 2008-05-11
@author Cay S.Hostsman
Modified by Climbing Huang when learning Core Java 2
*/

import java.util.*;

public class CalendarTest_CN
{
public static void main(String[] args)
{
// construct d as current date
GregorianCalendar d = new GregorianCalendar();

int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);

// set d to start date of the month
d.set(Calendar.DAY_OF_MONTH, 1);

int weekday = d.get(Calendar.DAY_OF_WEEK);

// print heading
System.out.println("星期一 星期二 星期三 星期四 星期五 星期六 星期日");

// indent first line of calendar
for (int i = Calendar.MONDAY; i < weekday; i++ )
System.out.print(" ");

do
{
// print day
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%6d", day);

// mark current day with *
if (day == today)
System.out.print("* ");
else
System.out.print(" ");

// start a new line after every Saturday
if (weekday == Calendar.SUNDAY)
System.out.println();

// advance d to the next day
d.add(Calendar.DAY_OF_MONTH, 1);
weekday = d.get(Calendar.DAY_OF_WEEK);
}
while (d.get(Calendar.MONTH) == month);
// the loop exits when d is day 1 of the next month

// print final end of line if necessary
if (weekday != Calendar.MONDAY)
System.out.println();
}
}

A snapshot of execution result:

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