请各位高手帮我修改下这个java程序!它有错误!

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:45:56
import java.util.Calendar;
public class OutputCalendar1 {
Calendar cal;
int allday;

public OutputCalendar1(int y,int m)
{
int[] days = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
cal=Calendar.getInstance();
cal.set(y,m-1,1);
if((y%4==0 && y%100!=0 || y % 400==0)&& m==2 )
days[1]++;
allday=days[m-1];
}

public void print()
{
System.out.println("------------"+cal.get(Calendar.YEAR)+"年"+(cal.get(Calendar.MONTH)+1)+"月份------------\n");
System.out.println("SUN MON TUR WED THU FRI SAT");

int first=cal.get(Calendar.DAY_OF_WEEK);
int i=0;
for(i=1;i<first;i++)
System.out.print(" ");
for(i=1;i<=allday;i++)
{
if(i<10) System.out.print(" ");
System.out.print(" "+i);
System.out.pri


for(i=1;i<=allday;i++)
{
if(i<10) System.out.print(" ");
System.out.print(" "+i);
System.out.print(" ");
if(first++%7==0)
System.out.println("\n ");
}

改成:
for(i=1;i<=allday;i++)
{
if(i<10&&i!=7) System.out.print(" "); //if条件加上&&i!=7,改成2个空格
System.out.print(" "+i);
if(i>=10)System.out.print(" "); //加上个if(i>=10)的条件
if(first++%7==0)
System.out.println("\n ");
}

输出结果:
-------------------------
S:\>java OutputCalendar1 1999 11
------------1999ト・1ヤツキン---------//日文系统所以是乱码

SUN MON TUR WED THU FRI SAT
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

程序逻辑正确,只是排版没有排好。
f