java基础综合二

/** 
* @author  万星明
* @version 创建时间:2018年10月26日 下午3:36:46 
* 类说明 
	[1] 创建书籍类,要求具备两个属性(书名+价格),正确编写其get、set方法,构造方法,重写toString方法
	[2] 书籍类,要求其实现Comparable接口,并按照要求实现其compareTo方法(比较规则:先按照价格进行比较,从高到低进行排序,如果价格一样,再按书名进行比较,结果可参照下图)
*/
public class Book implements Comparable<Object>{
	private String bookName;
	private Double bookPrice;
	
	
	@Override
	public int compareTo(Object o) {
		   Book book=(Book) o;
		   //如果传来的书籍价格小于本书,则返回-1,放左边
           if (this.bookPrice>book.getBookPrice()) {
                   return -1;
                   //否则放右边
           }else if(this.bookPrice<book.getBookPrice()) {
        	   		return 1;
           }else {
        	   //如果价格相等,则返回书名排序,按字母顺序
        	   return this.bookName.compareTo(book.getBookName());
           }
	}
	
	
	@Override
	public String toString() {
		return "Book [bookName=" + bookName + ", bookPrice=" + bookPrice + "]";
	}
	
	
	
	public Book() {
	}
	public Book(String bookName, Double bookPrice) {
		super();
		this.bookName = bookName;
		this.bookPrice = bookPrice;
	}


	public String getBookName() {
		return bookName;
	}
	public void setBookName(String bookName) {
		this.bookName = bookName;
	}
	public Double getBookPrice() {
		return bookPrice;
	}
	public void setBookPrice(Double bookPrice) {
		this.bookPrice = bookPrice;
	}
	
}
import java.util.Iterator;
import java.util.TreeSet;

/** 
* @author  万星明
* @version 创建时间:2018年10月26日 下午3:35:42 
* 类说明 
二、采用Set对象来管理书籍信息,并根据业务规则对存放进来的书籍信息进行排序,具体程序的实现效果参照下图(共10分)
	[1] 创建书籍类,要求具备两个属性(书名+价格),正确编写其get、set方法,构造方法,重写toString方法(2分)
	[2] 书籍类,要求其实现Comparable接口,并按照要求实现其compareTo方法(比较规则:先按照价格进行比较,从高到低进行排序,如果价格一样,再按书名进行比较,结果可参照下图)(3分)
	[3] 创建合适的Set对象,并按照要求的将书籍对象存放到Set对象中,插入的书籍数据要求与下图一致,并要求采用泛型约定Set集合存储的类型(2分)
	[4] 正确采用泛型迭代器遍历Set集合,并要求输出结果顺序正确(3分)
*/
public class Test2 {
	public static void main(String[] args) {
		
		ergodic(start());
		
	}
	
	//[3] 创建合适的Set对象,并按照要求的将书籍对象存放到Set对象中,插入的书籍数据要求与下图一致,并要求采用泛型约定Set集合存储的类型
	public static TreeSet<Book> start() {
		//创建set集合
		TreeSet<Book> bookSet = new TreeSet<Book>();
		//创建四本书
		Book book1 = new Book("AAA",199.0);
		Book book2 = new Book("BBB",299.0);
		Book book3 = new Book("CCC",399.0);
		Book book4 = new Book("AAD",199.0);
		
		//将书籍存入集合
		bookSet.add(book1);
		bookSet.add(book2);
		bookSet.add(book3);
		bookSet.add(book4);
		
		//返回集合
		return bookSet;
	}
	
	//[4] 正确采用泛型迭代器遍历Set集合,并要求输出结果顺序正确
	public static void ergodic(TreeSet<Book> bookSet) {
		//创建迭代器
	    Iterator<Book> it= bookSet.iterator();
	    //如果集合中有下一个元素则
        while (it.hasNext()) {
        		//将元素取出
        		Book book = it.next();
        		//输出书籍的属性
                System.out.println("书名:"+book.getBookName()+",价格:"+book.getBookPrice());
        }
	}
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值