|
万年历(for java)
万年历核心代码:(这个是老师布置的作业,缩小了要求,只能看2000年之后的,之前的改改就可以了)
class Date
{
boolean leap=false;
int leap_year[]={31,29,31,30,31,30,31,31,30,31,30,31};
int not_leap_year[]={31,28,31,30,31,30,31,31,30,31,30,31};
int week=6;
boolean leap_year(int year)
{
if((year%4==0 && year%100!=0)||year%400==0)return true;
else return false;
}
/////////////////////////////
void count_first_day_week(int year,int month)
{
int i,j;
int sum_day=0;
week=6;
for(i=2000;i<year;i++)
{
if(leap_year(i))
{
week=(week+366)%7;
}
else week=(week+365)%7;
}
if(leap_year(year))
{
for(j=1;j<month;j++)
{sum_day=sum_day+leap_year[j-1];}
week=(week+sum_day)%7;
}
else{
for(j=1;j<month;j++)
{sum_day=sum_day+not_leap_year[j-1];}
week=(week+sum_day)%7;
}
}
void print_format(int year,int month)
{
int i,j;
String s="";
int days;
if(leap_year(year))days=leap_year[month-1];
else days=not_leap_year[month-1];
System.out.println("ÈÕ Ò» ¶þ Èý ËÄ Îå Áù ");
for(i=0;i<week%7;i++)
s=s+" ";
for(j=1;j<=days;j++)
{
if(j>0&&j<10){
s=s+j+" ";
}
else s=s+j+" ";
if(s.length()%35==0)
{
System.out.println(s);
s="";
}
}
System.out.println(s);
} |
|