我写了个当前月的日历,可是总天数不对?高手们能指出哪里错了吗?
//=======当前月日历===============
//=======design visionary=========
//=======date 2006.11.28==========import java.util.*;
class B4
{
public static void main(String args[])
{
System.out.println(" 日 一 二 三 四 五 六");
Date currentDate=new Date();
int currentYear=currentDate.getYear();
int currentMonth=currentDate.getMonth()+1;
Calendar currentCalendar=Calendar.getInstance(); //创建一个日历类
currentCalendar.set(currentYear,currentMonth,1);
int whatWeekBof=currentCalendar.get(Calendar.DAY_OF_WEEK)-1;
int dataActualMaximum=currentCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
String a[]=new String[whatWeekBof+dataActualMaximum];
for(int i=0;i<whatWeekBof;i++)
{
a[i]="**";
}
for(int i=whatWeekBof,n=1;i<(whatWeekBof+dataActualMaximum);i++)
{
if(n<=9)
a[i]=String.valueOf(n)+" ";
else
a[i]=String.valueOf(n);
n++;
}
for(int i=0;i<a.length;i++)
{
if(i%7==0)
{
System.out.println("");
}
System.out.print(" "+a[i]);
}
System.out.println("");
System.out.println(currentYear);
System.out.println(currentMonth);
System.out.println(dataActualMaximum);
System.out.println("");
}
}最好显示为: 日 一 二 三 四 五 六 ** ** 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
106
11
31Press any key to continue...
//=======当前月日历===============
//=======design visionary=========
//=======date 2006.11.28==========import java.util.*;
class B4
{
public static void main(String args[])
{
System.out.println(" 日 一 二 三 四 五 六");
Date currentDate=new Date();
int currentYear=currentDate.getYear();
int currentMonth=currentDate.getMonth()+1;
Calendar currentCalendar=Calendar.getInstance(); //创建一个日历类
currentCalendar.set(currentYear,currentMonth,1);
int whatWeekBof=currentCalendar.get(Calendar.DAY_OF_WEEK)-1;
int dataActualMaximum=currentCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
String a[]=new String[whatWeekBof+dataActualMaximum];
for(int i=0;i<whatWeekBof;i++)
{
a[i]="**";
}
for(int i=whatWeekBof,n=1;i<(whatWeekBof+dataActualMaximum);i++)
{
if(n<=9)
a[i]=String.valueOf(n)+" ";
else
a[i]=String.valueOf(n);
n++;
}
for(int i=0;i<a.length;i++)
{
if(i%7==0)
{
System.out.println("");
}
System.out.print(" "+a[i]);
}
System.out.println("");
System.out.println(currentYear);
System.out.println(currentMonth);
System.out.println(dataActualMaximum);
System.out.println("");
}
}最好显示为: 日 一 二 三 四 五 六 ** ** 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
106
11
31Press any key to continue...
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货