一道JAVA的程序题目,急求,关于排序的
对任意给定的10个人的姓名和出生日期(形如“日-月-年的字符串”),请编写一程序,按年龄从小到大的顺序显示出他们的姓名,年龄与出生日期。拜托大神把程序附上呀,急用啊...
对任意给定的10个人的姓名和出生日期(形如“日-月-年的字符串”),请编写一程序,按年龄从小到大的顺序显示出他们的姓名,年龄与出生日期。
拜托大神把程序附上呀,急用啊 展开
拜托大神把程序附上呀,急用啊 展开
2个回答
展开全部
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Person implements Comparable<Person> {
String name;
int year;
int month;
int day;
public Person(String name, int year, int month, int day) {
this.name = name;
this.year = year;
this.month = month;
this.day = day;
}
@Override
public int compareTo(Person p) {
if(this.year > p.year) {
return 1;
} else if(this.year < p.year) {
return -1;
} else {
if(this.month > p.month) {
return 1;
} else if(this.month < p.month) {
return -1;
} else {
if(this.day > p.day) {
return 1;
} else if(this.day < p.day) {
return -1;
} else {
return 0;
}
}
}
}
@Override
public String toString() {
return name + ":" + year + "年" + month + "月" + day + "日";
}
public static void main(String[] args) {
List<Person> personList = new ArrayList<Person>();
personList.add(new Person("张一", 89, 9, 30));
personList.add(new Person("张二", 73, 4, 23));
personList.add(new Person("王三", 85, 5, 17));
personList.add(new Person("李四", 92, 8, 30));
personList.add(new Person("王五", 67, 9, 21));
personList.add(new Person("张六", 90, 10, 3));
personList.add(new Person("李七", 32, 2, 3));
personList.add(new Person("赵八", 67, 6, 30));
personList.add(new Person("袁九", 88, 2, 15));
personList.add(new Person("马十", 89, 1, 10));
Collections.sort(personList);
for(int i=personList.size()-1; i>=0; i--) {
Person person = personList.get(i);
System.out.println(person);
}
}
}
追问
请问能运行吗?
能把运行结果发给我看看吗
2015-06-26
展开全部
二重循环就可以搞定哈.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询