修改部分见注释
public static void main(String[] args)
{
System.out.println(" 日 一 二 三 四 五 六");
Calendar rili = Calendar.getInstance();
rili.set(2011, 3, 1);
int xingqi = rili.get(Calendar.DAY_OF_WEEK) - 1;
String a[] = new String[xingqi + 30];
for (int i = 0; i < xingqi; i++)
{
a[i] = "**";
}
for (int i = xingqi, n = 1; i < xingqi + 30; i++)
{
if (n <= 9)
a[i] = String.valueOf(n) + " ";
else
a[i] = String.valueOf(n);
n++;
}
//a[i]的i从0开始,你下面从1开始循,自然少了第一个
for (int i = 0; i < a.length; i++)
{
//遇到星期六应该是先打印日期,再换行,你之前是先换行,再打星期六
System.out.print(" " + a[i]);
//改了循环起始位置,此处改为i+1
if ((i + 1)% 7 == 0)
{
System.out.println(" ");
}
}
}