1.定义图书类Book,具有属性账号id,书名name、作者author 和价格price,在创建图书对象时要求通过构造器进行创建,一次性将四个属性全部赋值,
要求账户属性是int型,名称是String型,作者是String型,价格是double,请合理进行封装。
- 在Book类,添加toString方法,要求返回图书信息字符串,使用\t隔开各信息
- 要求定义一个图书馆Library类,在图书馆类中添加一个HashSet集合用于保存多本图书
3)在图书馆类中要求能够新增图书
4)在图书馆类中要求可以查看所有添加过的图书
5)不允许添加重复的图书(如果账号id和书名name相同,则认为两本书是相同的)
6)可以根据id删除图书
没想到还有一天会写这些代码(笑)。
Book类里面,几个简单的丶都在注释里提及了
Book.java
/**
* @author:fang
*/
package shixun.project1.zuoye1;
//Comparable继承用于排序
public class Book implements Comparable<Book>{
private Integer id;
private String name;
private String author;
private double price;
public Book(){
super();
}
//赋值
public Book(int id,String name,String author,double price){
super();
this.id=id;
this.name=name;
this.author=author;
this.price=price;
}
public int getId(){
return id;
}
//重写toString()方法,实现格式化输出
@Override
public String toString(){
return "\nbook\tid=" + id +"\t"
+ "name=" + name + "\t"
+ "author=" + author +"\t"
+ "price=" + price + "\n";
}
//重写hashCode()和equals()避免重复
@Override
public int hashCode(){
return this.id+this.name.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == ob