A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.*;
/*
* 声明类Student,包含3个成员变量:name、age、score,创建5个对象
*                 装入TreeSet,按照成绩排序输出结果(考虑成绩相同的问题).
*/
public class Test10 {

        public static void main(String[] args) {
                 //声明TreeSet
            TreeSet tr = new TreeSet();
            tr.add(new Student("A",21,89));
            tr.add(new Student("B",27,88));
            tr.add(new Student("C",23,95));
            tr.add(new Student("D",20,84));
            tr.add(new Student("E",25,88));
            System.out.println(tr);
        }
}

class Student implements Comparable{
    String name;
    int age;
    int score;
    //构造方法
    Student(String name,int age,int score){
      this.name=name;
      this.age=age;
      this.score=score;
    }
    //按顺序输出时的比较方法
    public int compareTo(Object o){
      Student stu = (Student) o;
      //先按照分数比较,分数相同按照名字
      if(this.score>stu.score) return 1;
      else if(this.score<stu.score) return -1;
      else if(this.name.compareTo(stu.name)>0) return 1;
      else if(this.name.compareTo(stu.name)<0)return -1;
      return 0;
    }
    //重写toString方法
    public String toString(){
      return this.name+'\0'+this.age+'\0'+this.score;
    }
  }
//报错了 java.lang.ClassCastException

1 个回复

正序浏览
为什么我运行没有报错啊,打印出了字符串了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马