您的位置:首页 > 职场人生

黑马程序员---JAVA---编程题(五)

2013-12-26 18:55 302 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 

 

声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet,按照成绩排序输出结果(考虑成绩相同的问题)。

 

import java.util.*;
public class Test10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeSet<Student> ts=new TreeSet<Student>(new MyCompare());
ts.add(new Student("李四",23,78.9));
ts.add(new Student("张三",25,90));
ts.add(new Student("王五",25,90));
ts.add(new Student("小淘气",20,89));
ts.add(new Student("李明",24,60.7));
Iterator<Student> it=ts.iterator();//用迭代器获取TreeSet集合中的元素
while(it.hasNext())
{
Student stu=(Student)it.next();
System.out.println(stu.getName()+"...."+stu.getAge()+"...。"+stu.getScore());
}
}
}
//自定义一个比较器,根据成绩排序,若成绩相同再根据年龄,再根据姓名排序
class MyCompare implements Comparator<Object>
{
public int compare( Object o1,Object o2)
{
Student s1=( Student)o1;
Student s2=( Student)o2;
int num=new Double(s1.getScore()).compareTo (new Double(s2.getScore()));
if(num==0){
if(s1.getAge()>s2.getAge())
return 1;
if(s1.getAge()==s2.getAge())
{
return s1.getName().compareTo(s2.getName());
}
return -1;
}
return num;
}
}
//定义一个学生类
class Student
{
private String name;
private int age;
private double score;
Student(String name,int age,double score)
{
this.name=name;
this.age=age;
this.score=score;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public double getScore()
{
return score;
}
}


 

 

 

----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: