class DateType
{
DateType(int year,int month,int day)
{
this.year=year;
this.month=month;
this.day=day;
}
boolean leapYear()
{
if(year%400==0||(year%4==0&&year%100!=0))
return true;
else return false;
}
boolean judgeDate()
{
if(month>=1&&month<=7)
{
if(month%2!=0)
{
if(day>=1&&day<=31)
return true;
else return false;
}
else if(month%2==0)
{
if(month==2)
{
if(leapYear())
{
if(day>=1&&day<=29)
return true;
else return false;
}
else
{
if(day>=1&&day<=28)
return true;
else return false;
}
}
else
{
if(day>=1&&day<=30)
return true;
else return false;
}
}
}
else if(month>7&&month<=12)
{
if(month%2==0)
{
if(day>=1&&day<=31)
return true;
else return false;
}
else
{
if(day>=1&&day<=30)
return true;
else return false;
}
}
return false;
}
void incrementDay()
{
++day;
if(month<=7) //判断前七个月
{
if(month%2!=0) //不能被2整除,即奇数月
{
if(day>31) //本月最后一天
{
day=1;
++month;
}
}
else if(month%2==0) //能被2整除,即偶数月
{
if(month==2) //第2个月
{
if(leapYear()) //如果是闰年
{
if(day>29)
{
day=1;
++month;
}
}
else if(day>28) //非闰年
{
day=1;
++month;
}
}
else if(day>30) //其他月份
{
day=1;
++month;
}
if(month==2)
{
if(day>29)
{
day=0;
++month;
}
}
if(day>30)
{
day=0;
++month;
}
}
}
if(month>7) //后5个月 从8月到12月
{
if(month%2==0) //能被2整除,即偶数月
{
if(day>31)
{
day=1;
++month;
}
}
else if(month%2!=0) //不能被2整除,即奇数月
{
if(day>30)
{
day=1;
++month;
}
}
if(month==13) //本年的最后一天
{
month=1;
++year;
}
}
}
boolean equal(DateType dt)
{
if((this.year==dt.year)&&(this.month==dt.month)&&(this.day==dt.day))
return true;
else return false;
}
void printDate()
{
System.out.println("输出年月日(格式:month/day/year)\n"+month+"/"+day+"/"+year);
}
int year;
int month;
int day;
}
class Date
{
public static void main(String[] args)
{
System.out.print("/*************************************************\n\n"+
"File name: 软件设计课程设计基础题14(基础题22.java)\n\n"+
"Author: 计06-1 郭献铮 Date: 08.12.1\n\n"+
"Description: 自定义一个简单的日期类,然后设计该类欲实现(完成)的功能,进而设计出相应的类成员函数;\n\n"+
"Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明\n\n"+
"1.main()函数 完成各种提示与主操作输入输出\n\n"+
"*****************************************************/\n\n");
DateType[] dt=new DateType[2];
for(int i=0;i<dt.length;++i)
{
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn/ day=in.nextInt();
dt[i]=new DateType(year,month,day);
if(!dt[i].judgeDate())
{
System.out.println("输入格式不正确,请重新输入!");
System.exit(0);
}
}
if(dt[0].equal(dt[1]))System.out.println("两者日期相同");
else System.out.println("两者日期不同");
dt[1].incrementDay();
dt[1].printDate();