1编写一个Book类,该类至少有name和price两个属性。该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。

来源:互联网 发布:mac合盖模式 编辑:程序博客网 时间:2024/05/16 15:53
package org.gerrysu;    import java.util.*;      public class Book implements Comparable{      String  name;      int  price;      public Book(String  name,int  price){          this.name = name;          this.price = price;           //System.out.println(name.toString());        }      public int compareTo(Object obj) {              Book bk = (Book)obj;              if(bk.price==this.price){             return 1;              }                 return 0;              }          public static void main(String[] args) {          // TODO Auto-generated method stub          List<Book> list = new ArrayList<Book>();          Book bk1 = new Book("java基础教程",29);          Book bk2 = new Book("数据库技术",29);          Book bk3 = new Book("C++基础教程",29);          Book bk4 = new Book("微机原理",39);          Book bk5 = new Book("操作系统",39);          Book bk6 = new Book("高数",59);          Book bk7 = new Book("数据结构",69);          list.add(bk1);            list.add(bk2);            list.add(bk3);            list.add(bk4);           list.add(bk5);           list.add(bk6);           list.add(bk7);           //Iterator<Book> iter = list.iterator();          Collections.sort(list);           System.out.println("输入:");          Scanner bookin = new Scanner(System.in);          String inname = bookin.nextLine();          int np = bookin.nextInt();          Book bkn = new Book(inname,np);           System.out.println("新书"+bkn.name+"与下列图书:");           Iterator<Book> it = list.iterator();           while(it.hasNext()){               Book b= it.next();               if(b.compareTo(bkn)==1)                   System.out.println(b.name);           }           System.out.println("价格相同,具体价格为:"+bk1.price+"元");      }        }  

阅读全文
0 0