大学排名-Collections

来源:互联网 发布:windows访问共享文件夹 编辑:程序博客网 时间:2024/04/29 07:10

引用块内容

package com.ibeifeng;import java.util.ArrayList;import java.util.Collections;/* 大学排行,按照总分、星级 给大学进行排序(25分)a.创建学校对象,并存入集合b.使用Collections.sort排序 c.控制台输出如下:学校名称        所在地区    总分  星级排名北京大学        北京      100     7清华大学        北京      98      7复旦大学        上海      82      7武汉大学        湖北      82      6浙江大学        浙江      82      5中国人民大学       北 京        81.5    5上海交通大学      上海      81      5南京大学              江苏        80.9    5国防科技大学     湖南       80      5中山大学        广东      76      4 */public class Demo6 {    public static void main(String[] args) {        ArrayList<University> arr = new ArrayList<University>();        //添加大学        arr.add(new University("上海交大", "上海", 81, 5));        arr.add( new University("南京大学", "江苏", 80.9, 5));        arr.add(new University("中山大学", "广东", 76, 4));        arr.add(new University("复旦大学", "上海", 82, 7));        arr.add(new University("中国人大", "北京", 81.5, 5));        arr.add(new University("北京大学","北京",100,7));        arr.add(new University("清华大学", "北京", 98, 7));        arr.add(new University("国防科大", "湖南", 80, 5));        arr.add(new University("武汉大学", "湖北", 82, 6));        arr.add(new University("浙江大学", "浙江", 82, 5));        //排序        Collections.sort(arr);        System.out.println("学校名称\t所在地区\t总分\t星级排名");        for (University university : arr) {            System.out.println(university);        }    }}class University implements Comparable<University> {    private String name;    private String area;    private double score;    private int star;    public University(String name, String area, double score, int star) {        this.name=name;        this.area=area;        this.score=score;        this.star=star;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getArea() {        return area;    }    public void setArea(String area) {        this.area = area;    }    public double getScore() {        return score;    }    public void setScore(double score) {        this.score = score;    }    public int getStar() {        return star;    }    public void setNum(int star) {        this.star = star;    }    @Override    public String toString() {        return name+"\t"+area+"\t"+score+"\t"+star;    }    //告诉系统怎么去比较大小    @Override    public int compareTo(University o) {        //int num = (int)Math.ceil(o.score-this.score);        int num = (int)((o.score-this.score)*100);        int num1 = num==0? o.star-this.star : num;        return num1;    }}
0 0