原题链接:日期排序
参考代码:
import java.util.Collections;
import java.util.Scanner;
import java.util.Vector;
public class Main
{ public static void main(String[] args)
{ Scanner scanner = new Scanner(System.in);
Vector<Date> dates = new Vector<Date>();
while(scanner.hasNext())
{ dates.add(new Date(scanner.nextLine()));
}
Collections.sort(dates);
for(Date t: dates)
System.out.println(t);
}
}
class Date implements Comparable<Object>
{ private int year, month, day;
private String original;
Date(String s)
{ original = s;
String []ss = s.split("/");
day = Integer.parseInt(ss[1]);
month = Integer.parseInt(ss[0]);
year = Integer.parseInt(ss[2]);
}
public int compareTo(Object o)
{ Date oo = (Date)o;
if(this.year > oo.year)
return 1;
else if(this.year == oo.year)
{ if(this.month > oo.month)
return 1;
else if(this.month == oo.month)
{ if(this.day > oo.day)
return 1;
else if(this.day == oo.day)
return 0;
}
}
return - 1;
}
public String toString()
{ return original;
}
}0.0分
5 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复