该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前几版的纠错版
public class rili
{
private int[] datakeeper=new int[12];
private int yearholder;
private int dealday=0;
private int limter=1;
private String readline;
private int distence=0;
private int yearholderT;
public void input()
{
System.out.println("please enter the year you want");
System.out.println("and I will draw a datetable for you");
yearholder=SavitchIn.readLineInt();
for(int n=0;n<12;n++)
{
if(n==0||n==2||n==4||n==6||n==8||n==9||n==11)
{
datakeeper[n]=31;
}
else
{
datakeeper[n]=30;
}
if((n==1)&&((yearholder%4==0)&&(yearholder%100!=0))||(yearholder%400==0))
{
datakeeper[1]=29;
}
else
{
datakeeper[1]=28;
}
}
readline="星期一 星期二 星期三 星期四 星期五 星期六 星期日";
}
public void computedate()
{
if(yearholder>2007)
{
distence=yearholder-2007;
yearholderT=2007;
for(int n=0;n
{
yearholderT=2007+n;
if(((yearholderT%4==0)&&(yearholderT%100!=0))||(yearholderT%400==0))
{
dealday+=2;
}
else
{
dealday++;
}
}
dealday=dealday%7;
limter=dealday;
}
if(yearholder<2007)
{
distence=2007-yearholder;
yearholderT=yearholder;
for(int n=0;n
{
yearholderT=yearholder+n;
if(((yearholderT%4==0)&&(yearholderT%100!=0))||(yearholderT%400==0))
{
dealday+=2;
}
else
{
dealday++;
}
}
dealday=7-dealday%7;
limter=dealday;
}
if(yearholder==2007)
{
dealday=0;
limter=0;
}
}
public void drawmap()
{
for(int n=1;n<=12;n++)
{
System.out.print(" ");
System.out.print(n);
System.out.println("月");
System.out.println(readline);
int h=n-1;
for(int l=0;l
{
System.out.print(" ");
}
for(int m=1;m<=datakeeper[h];m++)
{
limter++;
if(m<=9)
{
System.out.print(" "+m+" ");
}
else
{
System.out.print(" "+m+" ");
}
if(limter==7)
{
System.out.println();
limter=0;
}
}
dealday=limter;
System.out.println();
}
}
public static void main(String[] args)
{
rili a=new rili();
a.input();
a.computedate();
a.drawmap();
}
}
我没有完全测试,不过算法上应该不会有错的,同学