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

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 list = new ArrayList();  
        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 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 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+"元");  
    }  
      
}  

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