java题目,求助大神。

java题目,求助大神。请用集合,保存5个学生的年龄。对5个学生年龄进行排序,输出排序后的结果。

import java.util.*;
class Tester {
    public static void main(String[] args) {
        ArrayList < Student > list = new ArrayList < Student > ();
        for (int i = 0; i < 5; i++) {
            int age = (int)(Math.random() * 24) + 7;
            Student s = new Student("学生" + i, age);
            list.add(s);
        }
        System.out.println("排序前:" + list);
        Collections.sort(list);
        System.out.println("排序后:" + list);
    }
}
class Student implements Comparable<Student> {
    private String name;
    private int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public int compareTo(Student obj) {
        if(this.age>obj.age){
            return 1;
        }else if(this.age<obj.age){
            return -1;
        }else{
            return 0;
        }
    }
    public String toString() {
        String showStr = "姓名: "+this.name + ";年龄: " + this.age;
        return showStr;
    }
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答