用List集合完成一个图书管理系统

图书管理系统:List集合版

图书管理系统List集合版
1.需求描述:
通过我们学习过的面向对象和集合部分完成一个综合案例:简版图书管理系统!
本系统共分为两个角色,分别为用户和管理员,都只能进行最基本图书操作。

管理员模块功能
1)查看书籍列表:查询所有的书籍信息。
2)查看书籍信息:通过键盘录入要查询的书籍名称,如果书籍存在,则输出书籍的信息,如果不存在就输出不存在。
3)删除书籍信息:通过键盘录入要删除书籍的名字,如果书籍存在,则删除书籍的信息,如果不存在就输出书籍不存在,无法删除。
4)添加书籍:添加书籍到集合中。
5)退出系统:结束程序。

用户模块功能
1.查阅书籍信息:通过键盘录入要查询的书籍名称,如果书籍存在,则输出书籍的信息,如果不存在就输出不存在。
2.借阅书籍:输入借阅的书籍名字来借阅书籍,如果书籍不存在或已被借阅,则输出对应的情况。
3.归还书籍:归还已经借阅的书籍。
4.退出系统:结束程序。

2.实现步骤:
1)定义Book类,成员变量为书本的基本信息
成员变量:
姓名:name
作者:author
价格:price
种类:type
是否被借出:isBorrowed
构造方法:
无参构造
全参构造
每个成员变量对应给出get/set方法:
toString方法:
HashCode&equals方法:

2)定义BookList类,作为书籍的库存
成员变量:
书籍列表:ArrayList books
构造方法:
无参构造:向books集合中添加初始化书籍数据
全参构造
每个成员变量对应给出get/set方法:

3)定义Manager类,声明图书管理员的操作
成员方法:
查看所有书籍列表:lookAllBook()
查看书籍信息:lookBook()
删除书籍信息:deleteBook()
添加书籍:addBook()

4)定义User类,声明用户的操作
成员方法:
查看书籍信息:lookBook()
借阅书籍:borrowBook()
归还书籍:returnBook()

5)图书管理系统主界面的搭建:BookManager类
用输出语句完成主界面的编写
用Scanner实现键盘录入数据
通过键盘录入与if语句来选择身份:1.系统管理员身份 2.用户身份
不同的身份进入对应的管理系统,通过面向对象的思想完成对应的功能

代码实现:
Book类

package com.tohka.bookmanager;

import java.util.Objects;

public class Book {
   
    // 用来表示一本书的信息
    private String name;//书名
    private String author;//作者
    private double price;//价格
    private String type;//种类
    private boolean isBorrowed = false;//是否被借出
    //无参构造
    public Book() {
   
    }
    //全参构造
    Book(String name, String author, double price, String type, boolean isBorrowed) {
   
        this.name = name;
        this.author = author;
        this.price = price;
        this.type = type;
        this.isBorrowed = isBorrowed;
    }
    //getter&setter

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public String getAuthor() {
   
        return author;
    }

    public void setAuthor(String author) {
   
        this.author = author;
    }

    public double getPrice() {
   
        return price;
    }

    public void setPrice(double price) {
   
        this.price = price;
    }

    public String getType() {
   
        return type;
    }

    public void setType(String type) {
   
        this.type = type;
    }

    public boolean isBorrowed() {
   
        return isBorrowed;
    }

    public void setBorrowed(boolean borrowed) {
   
        isBorrowed = borrowed;
    }

    //toString
    @Override
    public String toString() {
   
        return "Book{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                ", type='" + type + '\'' +
                ", isBorrowed=" + isBorrowed +
                '}';
    }
    //equals&hashCode

    @Override
    public boolean equals(Object o) {
   
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Book book = (Book) o;
        return 
  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值