再接再厉 万年历
万年历:根据用户输入的年份输出该年的日历。例如:2000年1月1日为星期六,输入任一年的年份后,打印该年的年历。改了一下标题,把再接再厉改为 再接再厉 万年历
by hjack版主
[ 本帖最后由 hjack 于 2006-4-14 23:16 编辑 ] http://zhidao.baidu.com/question/5288856.html 楼主从哪里找来这些题目的啊
万年历(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;}
week=(week+sum_day)%7;
}
else{
for(j=1;j<month;j++)
{sum_day=sum_day+not_leap_year;}
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;
else days=not_leap_year;
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);
}
页:
[1]