请帮忙解释一下这个程序

icelover 2004-06-11 10:35:20
import java.util.*;

public class CalendarTest
{
public static void main(String[] args)
{
//constructor 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);

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);
if(day<10)
System.out.print(" ");
System.out.print(day);

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

//start a new line after every saturday
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.println();
}
}
这是core java中的一个利用GregorianCalendar打印出当前这个月的日历的程序,我想问的是do循环中的if(day<10) System.out.print(" ");是什么意思,为什么要把day和10进行比较呢?
另外我想问一下,在jcreator环境中进行调试程序时,按F10进行step时有没有什么地方可以像VC调试器一样随时查看程序中的某个变量内容?
谢谢
...全文
37 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyard 2004-06-12
  • 打赏
  • 举报
回复
if(day<10) System.out.print(" ");
这行程序是为了保证个位数1-9在其所在列中向右靠,如下:
6 7 8 9 10
11 12 13 14 15
否则输出将会是:
6 7 8 9 10
11 12 13 14 15
jcreator中,好像没有你所说的功能。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧