现在的位置: 首页 > 综合 > 正文

Java作业第七章(还是刷分篇)

2014年02月05日 ⁄ 综合 ⁄ 共 4116字 ⁄ 字号 评论关闭

package homework05;  
 
import java.util.Iterator;  
import java.util.TreeSet;  
 
/* 
 * 题目:有10个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用 
 * TreeMap<K,V>类,分别按照价格和容量排序并输出10个硬盘的详细信息。 
 */ 
   //硬盘类  
class HardDisk implements Comparable{  
    private int price;  
    private int content;  
      
    public static int flag=1;//flag作为按价格还是按容量的标志来排列。1:价格    2:容量  
      
    public HardDisk(int price,int content){  
        this.price=price;  
        this.content=content;  
    }  
    public int compareTo(Object b){    
        HardDisk hd=(HardDisk)b;  
        if(flag==1){  
            return(this.price-hd.price);  
        }  
        if(flag==2){  
            return(this.content-hd.content);  
        }  
        return 0;     
    }  
      
    public int getContent() {  
        return content;  
    }  
    public void setContent(int content) {  
        this.content = content;  
    }  
    public int getPrice() {  
        return price;  
    }  
    public void setPrice(int price) {  
        this.price = price;  
    }  
      
}  
public class Ch07_5 {  
 
    public static void main(String[] args) {  
        HardDisk[] hds={new HardDisk(40,2),new HardDisk(80,25),new HardDisk(200,40),new HardDisk(100,35),  
                new HardDisk(150,30),new HardDisk(25,1),new HardDisk(250,38),new HardDisk(300,50),  
                new HardDisk(270,60),new HardDisk(500,200)};  
          
        TreeSet<HardDisk> treeSet=new TreeSet<HardDisk>();  
        for(int i=0;i<hds.length;i++){  //默认按价格高低排序。  
            treeSet.add(hds[i]);  
        }  
        Iterator<HardDisk> iter=treeSet.iterator();  
        System.out.println("===详细信息===");  
        System.out.println("价格/t容量");  
        while(iter.hasNext()){  
            HardDisk hd=iter.next();      
            System.out.println(hd.getPrice()+"/t"+hd.getContent());  
        }  
          
        //  
        treeSet.clear();             //清除treeSet中的内容。  
        for(int i=0;i<hds.length;i++){  //按容量高低排序。  
            HardDisk.flag=2;  
            treeSet.add(hds[i]);  
        }         
        Iterator<HardDisk> iter2=treeSet.iterator();  
        System.out.println("===详细信息===");  
        System.out.println("容量/t价格");  
        while(iter2.hasNext()){  
            HardDisk hd=iter2.next();     
            System.out.println(hd.getContent()+"/t"+hd.getPrice());  
        }  
          
    }  
 

package homework05;

import java.util.Iterator;
import java.util.TreeSet;

/*
 * 题目:有10个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用
 * TreeMap<K,V>类,分别按照价格和容量排序并输出10个硬盘的详细信息。
 */
   //硬盘类
class HardDisk implements Comparable{
 private int price;
 private int content;
 
 public static int flag=1;//flag作为按价格还是按容量的标志来排列。1:价格    2:容量
 
 public HardDisk(int price,int content){
  this.price=price;
  this.content=content;
 }
 public int compareTo(Object b){ 
  HardDisk hd=(HardDisk)b;
  if(flag==1){
   return(this.price-hd.price);
  }
  if(flag==2){
   return(this.content-hd.content);
  }
  return 0; 
 }
 
 public int getContent() {
  return content;
 }
 public void setContent(int content) {
  this.content = content;
 }
 public int getPrice() {
  return price;
 }
 public void setPrice(int price) {
  this.price = price;
 }
 
}
public class Ch07_5 {

 public static void main(String[] args) {
  HardDisk[] hds={new HardDisk(40,2),new HardDisk(80,25),new HardDisk(200,40),new HardDisk(100,35),
    new HardDisk(150,30),new HardDisk(25,1),new HardDisk(250,38),new HardDisk(300,50),
    new HardDisk(270,60),new HardDisk(500,200)};
  
  TreeSet<HardDisk> treeSet=new TreeSet<HardDisk>();
  for(int i=0;i<hds.length;i++){  //默认按价格高低排序。
   treeSet.add(hds[i]);
  }
  Iterator<HardDisk> iter=treeSet.iterator();
  System.out.println("===详细信息===");
  System.out.println("价格/t容量");
  while(iter.hasNext()){
   HardDisk hd=iter.next(); 
   System.out.println(hd.getPrice()+"/t"+hd.getContent());
  }
  
  //
  treeSet.clear();             //清除treeSet中的内容。
  for(int i=0;i<hds.length;i++){  //按容量高低排序。
   HardDisk.flag=2;
   treeSet.add(hds[i]);
  }  
  Iterator<HardDisk> iter2=treeSet.iterator();
  System.out.println("===详细信息===");
  System.out.println("容量/t价格");
  while(iter2.hasNext()){
   HardDisk hd=iter2.next(); 
   System.out.println(hd.getContent()+"/t"+hd.getPrice());
  }
  
 }

}
 

运行结果:

===详细信息===
价格 容量
25 1
40 2
80 25
100 35
150 30
200 40
250 38
270 60
300 50
500 200
===详细信息===
容量 价格
1 25
2 40
25 80
30 150
35 100
38 250
40 200
50 300
60 270
200 500

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/youshini/archive/2010/03/25/5415460.aspx

抱歉!评论已关闭.