bug Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
public static void main(String[] args) throws ParseException, IOException {
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/mm/dd");
// long l = (sdf.parse("2014/09/06").getTime() - sdf.parse("1814/09/06").getTime()) / (1000 * 3600 * 24);
// System.out.println("相差天数:"+l);
// String nowStr="2014/09/06";
// String beforeStr="2014/09/16";
// long l = (sdf.parse(beforeStr).getTime() - sdf.parse(nowStr).getTime()) / (1000 * 3600 * 24);
// System.out.println(l);
String nowStr="2014/09/06";
Date now=sdf.parse(nowStr);
int cnt=0;
Map<Date,String> map= new TreeMap<>();
int n=Integer.parseInt(sc.readLine());
for(int i=0;i<n;i++){
String []s=sc.readLine().split(" ");
String value=s[0];
String key=s[1];
// System.out.println(key);
String []str=key.split("/");
if(Integer.parseInt(str[0])>2014){
continue;
}
//1000 * 24 * 60 * 60
// long time=now.getTime()-sdf.parse(key).getTime();//ms
// if((time/ (1000*3600*24)>365*200)){
// System.out.println("相差天数: "+time/ (1000*3600*24));
// continue;
// }
if(Integer.parseInt(str[0])<1814){
continue;
}
if(Integer.parseInt(str[0])==1814){
if(Integer.parseInt(str[1])<9){
continue;
}
if(Integer.parseInt(str[1])==9){
if(Integer.parseInt(str[2])<6){
continue;
}
}
}
map.put(sdf.parse(key),value);
cnt++;
}
if(map.size()==0){
System.out.println("0");return;
}
int num=0;
System.out.print(cnt+" ");
for(Map.Entry<Date,String> m:map.entrySet()){
Date key=m.getKey();
String value=m.getValue();
num++;
if(num==1){
System.out.print(value+" ");
}
if(num==cnt){
System.out.println(value);
// return;
}
//System.out.println(sdf.format(key)+" :"+value);
}
}
}
Two test points have not seen: