【Java】帮忙解释个程序

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:16:51
public static void main(String[]args)
{
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);
int month = d.get(Calendar.MONTH);
d.set(Calendar.DAY_OF_MONTH,1);
int weekday = d.get(Calendar.DAY_OF_WEEK);
System.out.println("Sun Mon Tue Wed Thu Fri Sat");
for(int i=Calendar.SUNDAY;i<weekday;i++)
System.out.print("~~~~");
do
{
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);

if(day==today)
System.out.print("*");
else
System.out.print(" ");

if(weekday==Calendar.SATURDAY)
System.out.println("^");

d.add(Calendar.DAY_OF_MONTH,1);
weekday=d.get(Calendar.DAY_OF_WEEK);
}
while(d.get(Calendar.MONTH)==month);
if(weekday!=Calendar.SUNDAY)
System.out.print(" "

计算每个月中的双休日

public static void main(String[]args)
{
GregorianCalendar d = new GregorianCalendar();
int today = d.get(Calendar.DAY_OF_MONTH);//得到当前月份的天数
int month = d.get(Calendar.MONTH);//得到当前的月份
d.set(Calendar.DAY_OF_MONTH,1);
int weekday = d.get(Calendar.DAY_OF_WEEK);//得到星期几
System.out.println("Sun Mon Tue Wed Thu Fri Sat");//让系统输出从拜日到拜六
for(int i=Calendar.SUNDAY;i<weekday;i++)//从拜日开始循环
System.out.print("~~~~");
do
{
int day = d.get(Calendar.DAY_OF_MONTH);
System.out.printf("%3d",day);

if(day==today)
System.out.print("*");//在当前天的后面出现星星
else
System.out.print(" ");

if(weekday==Calendar.SATURDAY)
System.out.println("^");

d.add(Calendar.DAY_OF_MONTH,1);
weekday=d.get(Calendar.DAY_OF_WEEK);
}
while(d.get(Calendar.MONTH)==