jayj 发表于 2006-4-14 22:32

再接再厉 万年历

万年历:根据用户输入的年份输出该年的日历。例如:2000年1月1日为星期六,输入任一年的年份后,打印该年的年历。


改了一下标题,把再接再厉改为 再接再厉 万年历

by hjack版主

[ 本帖最后由 hjack 于 2006-4-14 23:16 编辑 ]

黯然销魂 发表于 2006-4-14 22:44

http://zhidao.baidu.com/question/5288856.html

海上飞洪 发表于 2006-4-16 00:36

楼主从哪里找来这些题目的啊

jackey_sky 发表于 2006-4-19 22:16

万年历(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("&Egrave;&Otilde;   &Ograve;&raquo;   &para;&thorn;   &Egrave;&yacute;   &Euml;&Auml;   &Icirc;&aring;   &Aacute;ù   ");
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]
查看完整版本: 再接再厉 万年历