定义图书类Book,具有属性账号id,书名name、作者author 和价格price和一个图书馆类Library保存新书

本文介绍如何在Java中定义图书类Book,包括id、name、author和price属性,并通过构造器初始化。同时,创建图书馆类Library,使用HashSet存储图书,支持添加、查看图书,不允许添加重复图书,并提供按id删除图书的功能。代码实现中包含Book和Library类的简单说明。
摘要由CSDN通过智能技术生成

1.定义图书类Book,具有属性账号id,书名name、作者author 和价格price,在创建图书对象时要求通过构造器进行创建,一次性将四个属性全部赋值
要求账户属性是int型,名称是String型,作者是String型,价格是double,请合理进行封装。

  1. 在Book类,添加toString方法,要求返回图书信息字符串,使用\t隔开各信息
  2. 要求定义一个图书馆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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值