JAVA实现图书管理器(简略版)

本文详细描述了使用IDEA编程构建一个书籍管理系统,包括Book类、BookList、管理员和用户模块,以及增删查改借还书等操作的具体实现过程。
摘要由CSDN通过智能技术生成

 

大致思路:

注意:使用编程软件为idea

先创建3个包,第一个包用来实现管理书籍,第二个包用来实现增删查书籍,第三个包用来实现管理员与用户;

首先我们先来实现book这个包

Book:

我们先创建5个数据分别对应着 书面 作者 价格(也可以是double类型) 类别  书籍是否被借出的状态,我们用private进行封装

然后提供构造方法,Getter与Setter方法,toString重写。如下图所示:

构造方法中不需要islend,因为当你加入一本书时,书本身肯定是未被借出的状态。

Booklist:

我们先初始化books用来存放书籍,usedSize用来记录我们存了多少本书(数组大小可以自订)

Main:

借书一般都是需要姓名信息,所以第一步先打印一个:请输入你的姓名,然后再到选择是管理员系统还是普通用户系统。

User:

因为管理员(AdminUser)和用户(NormalUser)都用共同的部分所以创建一个User来编程共有的部分,共有的部分有:姓名与选择操作。

分别写出对应的操作清单:

管理员:增删查以及退出系统

员工:查找借阅归还书籍以及退出系统

最后返回所选的操作。

回到Main,书接上回我们写到了选择进入管理员系统还是用户系统,现在我们把选择的结果加上去,选择进入管理员系统就应该打印出管理员的操作菜单,所以通过new一个adminUser来进入操作系统,然后返回所选择的操作,用户同理。

因为我们写了返回值所以类应该从void类型改为User类型,对应的我们也应该有个值来接受返回值,同时写一个while循环,作用是:每当选择的操作完成后重新打印操作菜单,并用返回值接受(后面讲用来干什么)。

自此大致框架已经实现,现在来实现增删查改等操作。

操作实现:

里面一共是7个方法(增删查改借书还书退出系统)一个接口,通过接口方便我们管理操作方法。

在接口这定义一个类:

booklist是数架,里面保存了书籍,因为在后面的操作肯定会用到,所以我们在接口这把书架一起传过去。如何传输,请后看。

然后在各个其他类实现就行。

在User这定义一个接口数组用来给子类存储对应操作方法。

将对应操作方法添加到子类里面去。

书接上回:

在Main这通过BookList bookList = new BookList的方式调用书架。

将在打印操作菜单后所选的操作的返回值用choice接受,并传到doIoperations里面,

回到User,choice可以帮我们确定我们要访问的数值下标(即对应操作的函数,并把我们系统里面有的书籍一起传输过去)

现在就到了增删查等方法的实现了:

FindOperation:查找书籍

先输入要找的书名然后在BookList里面创建一个构造方法用来获取一共有几本书(如下图)。然后通过for循环,一本一本进行比对。构造一个方法来获取书籍,然后通过equals()来对比是否是一样的书。

DelOperation:删除书籍

先查找书籍,并用j记录查找的书籍下标,然后我们选用删除书籍的方法是:从删除书籍后方的书籍依次往前移到一个位置(为什么j的初始值为-1,因为数组下标没有-1)。

第一个构造方法:传入要被覆盖掉的书籍的下标,并且把下标后一位对应的书籍传进来。结果就是被覆盖掉的书籍的下标对应的被覆盖掉的书籍的下标的下一位对应的书籍。

第二个构造方法:改变图书数量的数值

覆盖完后,把最后一个位置置为空,图书数量减1。

AddOpenration:增加图书

先判断书架是否满了

构造方法:当前的书籍数量是否等于书架可以存储书籍的最大数量

依次输入书面,作者,价格,类型并传到Book里面(如下图)

获取书架书籍的数量,把获取的数值和书籍传入setBook里面,别忘记把书籍shul+1就添加成功了。

ShowOpenration:查看图书

先获取书籍数量,通过for依次打印。

BorrowerOpenration:借阅图书

先把Book里面的toString里面话红线的部分修改。

为什么:这样改isLend的值就只有true或false,即借出或未借出。

只需要在之前查找图书的基础上修改if里面的内容即可,即把isLend的值改为true。

ReturnOpenration:归还图书

和借阅图书一样,只需把借阅图书里面的true改为false即可。

ExitOpenration:退出系统

退出系统代码:System.exit(0);

安全起见退出前先把数组内存设为空就行了。

感谢阅读

  • 24
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值