class DateType{ //时间类
int year,mon,day;//年,月,日三个量
DateType(int y,int m,int d){//初始化时间
year=y;
mon=(m>0&&m<13)?m:1;
day=checkday(d);
}
int checkday(int d){//用来检查看时间是否超过该月所有的最大时间
int daydisp[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(d>0&&d<=daydisp[mon])//时间没有超出时就返回
return d;
if(mon==2&&d==29&&(year%400==0||year%4==0&&year%100!=0))
return d;
return 1;//如果时间超出了就返回1
}
void incrementDay(){//时间加1天
if(mon==1||mon==3||mon ==5||mon ==7||mon ==8||mon ==10||mon==12){
day++;//是31天的就时间加1天
if(day==32){//如果加好的时间刚好是32,那么就月份加1,天数设成1
mon++;
day=1;
if(mon==13){mon=1;year++;}//如果月份超出,则年加1,月份设为1
}
else if (mon==2||mon ==4||mon ==6||mon ==9||mon ==11){
day++;
if (mon==2){//是2月时做的处理
if (year/4==0&&year/400!=0||year/100==0&&year/400==0)
if(day==30){//如果是闰年,且时间超出29天,则月份加1,天数设为1
mon++;
day=1;
if(mon==13){mon=1;year++;}//如果月份超出,则年加1,月份设为1
}
else if(day==29){如果不是闰年,又是2月,且时间超出28天,月份加1,天数设为1
mon++;
day=1;
if(mon==13){mon=1;year++;}//如果月份超出,则年加1,月份设为1
}
}
else if(day==31){//最大天数为30的,超出,则月份加1,天数设为1
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn
boolean euqal(DateType dt2){//判断两个时间是不是相等的,若相等则返回true,否则返回false
if(year==dt2.year&&mon==dt2.mon&&day==dt2.day)
return true;
else
return false;
}
void printDate(){//输出时间
System.out.println(+year+"年"+mon+"月"+day+"日");public class ershier{
public static void main(String[] args){
try{
Scanner input=new Scanner(System.in);
System.out.println("请输入日期1的年月日(以空格为间隔):");
int year=input.nextInt();
int day2=input.nextInt();
DateType dt1=new DateType(year, month, day);//将日期1构建成DateType
System.out.println("日期1为:");
dt1.printDate();//输出日期1
DateType dt2=new DateType(year2,month2,day2);//将日期1构建成DateType
System.out.println("日期2为:");
dt2.printDate();//输出日期2
boolean equal;
equal=dt1.euqal(dt2);
while(true)
{
System.out.println("请输入操作:\n" +
"1、增加一天 2、比较两个日期是否相等 3、退出程序");
int n=input.nextInt();
switch(n)
{
case 1:
dt1.incrementDay();//时间加1
System.out.println("日期1增加后变为:");
dt1.printDate();
break;
case 2:
equal=dt1.euqal(dt2);//判断是否相等
System.out.println(equal);
break;
case 3:
System.out.println("程序结束");
System.exit(0);
default:
System.out.println("输入错误!");
break; }catch(Exception e){
System.out.println("输入出错!");