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

© 佛山java爱好者 中级黑马   /  2014-7-14 21:53  /  1091 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Student implements Comparable
{
     private String name;
         private int age;

         Student(String name,int age)
        {
           this.name=name;
           this.age=age;
         }
       public String get_Name()
        {
           return name;
          
          
           }
           public int get_Age()
                   {
          
               return age;
          
          
           }
           public int compareTo(Object obj)
        {
           if(!(obj instanceof Student))
                {
               throw new RuntimeException("不是学生对象");
                   Student s=(Student)obj;

                   if (this.age>s.age)
                   {
                           return 1;
                   }

              if (this.age==s.age)
              {
                          return this.name.compareTO(s.name);
              }
                  return -1;
           }
          
           }
}

class  Demo
{
        public static void main(String[] args)
        {
                TreeSet ts=new TreeSet();
                ts.add("lisi01,12");
                ts.add("lisi02,13");
                ts.add("lisi08,54");
                Iterator it=ts.iterator();
                while(it.hasNext())
                {
                   System.out.println(it.next());
                }

        }
}
为什么编译失败呢

1 个回复

倒序浏览
没有导入包,在重写compareTo方法中一个大括号写错了地方,throw后面应该有一个大括号。
在最后一个if语句中,应该是compareTo,不是compareTO
  1. import java.util.TreeSet;
  2. import java.util.Iterator;
  3. class Student implements Comparable
  4. {
  5. private String name;
  6. private int age;

  7. Student(String name,int age)
  8. {
  9. this.name=name;
  10. this.age=age;
  11. }
  12. public String get_Name()
  13. {
  14. return name;


  15. }
  16. public int get_Age()
  17. {

  18. return age;


  19. }
  20. public int compareTo(Object obj)
  21. {
  22. if(!(obj instanceof Student))
  23. {
  24. throw new RuntimeException("不是学生对象");
  25. }
  26. Student s=(Student)obj;

  27. if (this.age>s.age)
  28. {
  29. return 1;
  30. }

  31. if (this.age==s.age)
  32. {
  33. return this.name.compareTo(s.name);
  34. }
  35. return -1;


  36. }
  37. }

  38. class Demo
  39. {
  40. public static void main(String[] args)
  41. {
  42. TreeSet ts=new TreeSet();
  43. ts.add("lisi01,12");
  44. ts.add("lisi02,13");
  45. ts.add("lisi08,54");
  46. Iterator it=ts.iterator();
  47. while(it.hasNext())
  48. {
  49. System.out.println(it.next());
  50. }

  51. }
  52. }
复制代码


这是改过的代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马