カレンダーの表示
1430 ワード
// 。
import java.util.*;
public class CalendarTest
{
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("Sun Mon Tue Wed Thu Fri Sat");
//indent first line of calendar
for(int i=Calendar.SUNDAY;i<weekday;i++)
System.out.print(" ");
do{
//print day
int day=d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",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.SATURDAY)
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.SUNDAY)
System.out.println();
}
}