老师帮忙看看错在哪?谢谢!

老师帮忙看看错在哪?谢谢!

测试类:

//实现Comparator接口
public class StudentTest implements Comparator{
    
    //实现接口中的方法
    @Override
    public int compare(Student o1, Student o2) {
        String name1=o1.getName();
        String name2=o2.getName();
        int n=name1.compareTo(name2);
        return n;
    }
    
    public static void main(String[] args){
        //定义Student类的对象
        Student stu1=new Student(40,20,"perter");
        Student stu2=new Student(28,5,"angle");
        Student stu3=new Student(35,18,"tom");
        
        //将对象添加到List中
        List<Student> list=new ArrayList<Student>();
        list.add(stu1);
        list.add(stu2);
        list.add(stu3);
        
        //输出排序前的数据
       System.out.println("按名字排序前:");
        for(Student stu:list) {
            System.out.println(stu);
        } 
        
        //排序
        Collections.sort(list, new StudentTest());
        
        //输出排序后的数据
        System.out.println("按名字排序后:");
        for(Student stu:list) {
            System.out.println(stu);
        }
    }

学生类:

public class Student {
    //成员变量
    private int number;
    private int age;
    private String name;
    
    //构造方法
    public Student(){
        
    }
     public Student(int number,int age,String name){
         this.number=number;
         this.age=age;
         this.name=name;
     }
    //getter和setter方法
    public int getNumber(){
        return number;
    }
    public void setNumber(){
        this.number=number;
    }
    
    public int getAge(){
        return age;
    }
    public void setAge(){
        this.age=age;
    }
    
    public String getName(){
        return name;
    }
    public void setName(){
        this.name=name;
    }
    //toString()方法
    public String toString(){
        return "[学号:" +number+ ", 年龄:" +age+ ", 姓名:"+name+"]";
    }
}


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学很棒哦,自己解决了问题~也是编程工作中很重要的能力呢~

继续加油吧~祝:学习愉快~

提问者 作甚 2019-05-19 18:28:22

谢谢老师,我打开eclipse,找到错误了

吃吃吃鱼的猫 2019-05-19 18:07:25

同学你好,修改后运行的错误是什么呢?建议同学贴出错误信息哦~

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

吃吃吃鱼的猫 2019-05-19 17:16:31

同学你好,重写的compare参数类型应该为Object类型,然后在方法中强转为Student类型哦~

如图所示:

http://img1.sycdn.imooc.com//climg/5ce11ea70001d67104630175.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 作甚 #1
    我修改后也是一样的呀
    2019-05-19 17:40:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师