package 第八届B组;
import java.util.*;
public class 日期问题 {
public static void main(String[] args)
{
boolean S1=true;
Scanner CC=new Scanner(System.in);
//System.out.println("请输入一行字符串");
String g=CC.next();//年/月/日的,有采用月/日/年的,还有采用日/月/年的
char[] Jj=new char[8];
Si[] jjj=new Si[3];
jjj[0]=new Si();
jjj[1]=new Si();
jjj[2]=new Si();
int 年=0,月=0,日=0;
String 月1="",日1="";
Jj=g.toCharArray();
int l1=Jj[0]-'0';
int l2=Jj[1]-'0';
int l4=Jj[3]-'0';
int l5=Jj[4]-'0';
int l7=Jj[6]-'0';
int l8=Jj[7]-'0';
//年/月/日
while(S1)
{
if(l1==0)
{
年=2000+l2;
}
else
{
if(l1>=6)
{
年=1900+l1*10+l2;
}
if(l1>0&&l1<6)
{
年=2000+l1*10+l2;
}
}
//月的判断
if(l4>1)
{
break;
}
else
{
if(l4==1&&l5>2)
{
break;
}
if(l4==0&&l5==0)
{
break;
}
if(l4==0)
{
月1="0"+l5;
月=l5;
}
else
{
月1=""+l4+l5;
月=l4*10+l5;
}
}
//日的判断
if(l7>3)
{
break;
}
else
{
if(l7==3&&l8>1)
{
break;
}
if(l7==0&&l8==0)
{
break;
}
if(l7==0)
{
日1="0"+l8;
日=l8;
}
else
{
日1=""+l7+l8;
日=l7*10+l8;
}
if(判断(年))
{
if(月==2&&日<=31&&日>29)
{
break;
}
}
else
{
if(月==2&&日<=31&&日>28)
{
break;
}
}
if((月==4||月==6||月==9||月==11)&&日>30)
{
break;
}
jjj[0].年=年;
jjj[0].月=月;
jjj[0].日=日;
jjj[0].SS=年+"-"+月1+"-"+日1;
}
S1=false;
}
S1=true;
//月/日/年
while(S1)
{
//月
if(l1>1)
{
break;
}
else
{
if(l1==1&&l2>2)
{
break;
}
if(l1==0&&l2==0)
{
break;
}
if(l1==0)
{
月1="0"+l2;
月=l2;
}
else
{
月1=""+l1+l2;
月=l1*10+l2;
}
}
//年
if(l7==0)
{
年=2000+l8;
}
else
{
if(l7>=6)
{
年=1900+l7*10+l8;
}
if(l7>0&&l7<6)
{
年=2000+l7*10+l8;
}
}
//日
if(l4>3)
{
break;
}
else
{
if(l4==3&&l5>1)
{
break;
}
if(l4==0&&l5==0)
{
break;
}
if(l4==0)
{
日1="0"+l5;
日=l5;
}
else
{
日1=""+l4+l5;
日=l4*10+l5;
}
if(判断(年))
{
if(月==2&&日<=31&&日>29)
{
break;
}
}
else
{
if(月==2&&日<=31&&日>28)
{
break;
}
}
if((月==4||月==6||月==9||月==11)&&日>30)
{
break;
}
jjj[1].年=年;
jjj[1].月=月;
jjj[1].日=日;
jjj[1].SS=年+"-"+月1+"-"+日1;
}
S1=false;
}
S1=true;
//日/月/年
while(S1)
{
if(l7==0)
{
年=2000+l8;
}
else
{
if(l7>=6)
{
年=1900+l7*10+l8;
}
if(l7>0&&l7<6)
{
年=2000+l7*10+l8;
}
}
//月的判断
if(l4>1)
{
break;
}
else
{
if(l4==1&&l5>2)
{
break;
}
if(l4==0&&l5==0)
{
break;
}
if(l4==0)
{
月1="0"+l5;
月=l5;
}
else
{
月1=""+l4+l5;
月=l4*10+l5;
}
}
//日的判断
if(l1>3)
{
break;
}
else
{
if(l1==1&&l2>1)
{
break;
}
if(l1==0&&l2==0)
{
break;
}
if(l1==0)
{
日1="0"+l2;
日=l2;
}
else
{
日1=""+l1+l2;
日=l1*10+l2;
}
if(判断(年))
{
if(月==2&&日<=31&&日>29)
{
break;
}
}
else
{
if(月==2&&日<=31&&日>28)
{
break;
}
}
if((月==4||月==6||月==9||月==11)&&日>30)
{
break;
}
jjj[2].年=年;
jjj[2].月=月;
jjj[2].日=日;
jjj[2].SS=年+"-"+月1+"-"+日1;
}
S1=false;
}
//加个排序功能
for(int i=0;i<3-1;i++)
{
for(int j=i+1;j<3;j++)
{
if(jjj[i].年>jjj[j].年)
{
Si jii=new Si();
jii.SS=jjj[i].SS;
jii.年=jjj[i].年;
jii.日=jjj[i].日;
jii.月=jjj[i].月;
jjj[i]=jjj[j];
jjj[j]=jii;
}
if(jjj[i].年==jjj[j].年)
{
if(jjj[i].月>jjj[j].月)
{
Si jii=new Si();
jii.SS=jjj[i].SS;
jii.年=jjj[i].年;
jii.日=jjj[i].日;
jii.月=jjj[i].月;
jjj[i]=jjj[j];
jjj[j]=jii;
}
if(jjj[i].月==jjj[j].月)
{
if(jjj[i].日>jjj[j].日)
{
Si jii=new Si();
jii.SS=jjj[i].SS;
jii.年=jjj[i].年;
jii.日=jjj[i].日;
jii.月=jjj[i].月;
jjj[i]=jjj[j];
jjj[j]=jii;
}
}
}
}
}
if(jjj[0].SS!=null&&jjj[1].SS!=null&&jjj[0].SS.equals(jjj[1].SS))
{
jjj[1].SS=null;
}
if(jjj[1].SS!=null&&jjj[2].SS!=null&&jjj[1].SS.equals(jjj[2].SS))
{
jjj[1].SS=null;
}
if(jjj[0].SS!=null&&jjj[2].SS!=null&&jjj[0].SS.equals(jjj[2].SS))
{
jjj[0].SS=null;
}
if(jjj[0].SS!=null)
System.out.println(jjj[0].SS);
if(jjj[1].SS!=null)
System.out.println(jjj[1].SS);
if(jjj[2].SS!=null)
System.out.println(jjj[2].SS);
CC.close();
}
//闰年有世纪闰年和普通闰年两种
static boolean 判断(int ii)
{
if(ii%100==0)
{
if(ii%400==0)
{
return true;
}
return false;
}
else
{
if(ii%4==0)
{
return true;
}
}
return false;
}
}
class Si
{
int 年;
int 月;
int 日;
String SS;
}
0.0分
10 人评分
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:617 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:519 |
1268:P1001浏览:644 |
简单的a+b (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:609 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:611 |
三角形 (C++代码)递推浏览:825 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:751 |
核桃的数量 (C语言代码)浏览:726 |
道尽似空 2020-01-31 20:05:59 |
呸,怎么不一样呢