当前位置: 首页 > news >正文

Java实现图书系统

首先实现一个图书管理系统,我们要知道有哪些元素?

1.用户分成为管理员和普通用户

2.书:书架   书

3.操作的是: 书架

目录

第一步:建包

第二步:搭建框架

首先:完成book中的方法

其次:完成BookList

然后:完成管理员界面和普通用户界面

最后:Main

第三步:细分方法

1.退出系统

2.查找图书

3.借阅图书

​编辑4.归还图书

5.显示图书

6.增加图书

7.删除图书

8.IOperation


第一步:建包

首先:我们要生成三个包; 一个:Book; 一个:User;  一个:ioperations;

Book:  包中包含Book类BookList类和Main类,其中Book类用来实现Book的初始化,运用get和set取得属性的值和给属性赋值,调用constructor:创建对象时初始化 ,使用Tostring方法,BookList类用于展示当前图书系统的书籍,Main类:具体的方法实现;

User:包中包含AdminUser类,NomalUser类和User类;AdminUser用于实现管理员下的方法,NomalUser用于实现普通用户的方法,User:是一个抽象类,用于存放AdminUser和NomalUser共性的东西;

ioperations:相当于一个接口,当中存放着AdminUser和NomalUser中将调用的方法:例如:增加图书,删除图书,退出系统等...

第二步:搭建框架

首先:完成book中的方法

其中需要主要的是:

\

isBorrowed是判断书是否被借出,是不需要创建对象时初始化的

其次:完成BookList

其中需要注意的是:我们要创建一个数组进行书的存储,设置好有效长度,方便后面书的增删查改,同时也定义原有书架上的书

然后:完成管理员界面和普通用户界面

首先;我们要明白:管理员和普通用户使用的界面不一样,因此调用的方法也不一样,所以我们需要创建一个AdminUser和一个NomalUser来区分,也同时方便后面的调用;

与此同时,在这两个的管理系统上面也存在一定的共性,我们要进行总和,所以也需要创建一个User,这里的User就相当于是AdminUser和NomalUser的父类;并且这里的User没有具体的实现,相当于一个抽象类;    在抽象类中我们要知道,父类是抽象类,子类必须重写抽象方法

其中想同的点:使用着的名字,初始化 , 同一个书架,menu方法,doIoperation方法:通过数组下标调用对应的方法实现功能

普通用户和管理员只是对应的方法不同

User:

最后:Main

我们需要实现这个内容;

用login这个方法去实现,最后在main方法中调用,

其中我们需要注意的是,在身份选择的时候我们需要去判断是进入AdminUser还是NomalUser

基本框架就实现完了

第三步:细分方法

1.退出系统

2.查找图书

首先我们要明白:说的查找图书就相当于在书架上找书,书架相当于一个数组!

3.借阅图书

其中需要注意到:找到书后需要修改书的状态,判断书是否被借出



4.归还图书

5.显示图书

使用for循环调取数组的下标

6.增加图书

按照4步的方法一次解决

注意:

如果先输入整型在输入类型的话,它会将回车读入类型当中去;

7.删除图书

步骤:

1.找到书是否存在

2.然后再删除

注意:

面向过程时:bookList[j] = bookList[j+1];是这样的思路;

而我们在面向对象时:

最后将currentSize-1;

实现的全过程:

8.IOperation

用来调用对应方法的接口;

http://www.lryc.cn/news/355369.html

相关文章:

  • Git提交和配置命令
  • 已解决java.lang.ExceptionInInitializerError: 初始化程序中的异常错误的正确解决方法,亲测有效!!!
  • 报表显示中,是否具备条件格式功能设计?
  • 完全二叉树查找
  • Web安全:SQL注入之时间盲注原理+步骤+实战操作
  • [JDK工具-10] jvisualvm 多合一故障处理工具
  • 【GateWay】自定义RoutePredicateFactory
  • 今日总结2024/5/27
  • 使用 Snort 进行入侵检测
  • C++ | Leetcode C++题解之第116题填充每个节点的下一个右侧节点指针
  • 计算机网络学习
  • 代码随想录算法训练营第四天| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
  • 职业探索--运维体系-SRE岗位/CRE岗位/运维岗位-服务心态-运维职业发展方向-运维对象和运维场景
  • 深入理解C++智能指针系列(五)
  • 1.Nginx上配置 HTTPS
  • wordpress教程视频 wordpress教程网盘 wordpress教程推荐wordpress教程网
  • vue3 3D炫酷模型banner图
  • 小程序内使用路由
  • 【数据结构】第七节:堆
  • 前端大师-高级Web开发测验
  • 延迟初始化和密封类
  • Kotlin基础之基本语法
  • 多态(难的起飞)
  • 安装GO环境
  • 记一次由于代码原因导致Mysql连接被打满和唯一索引重复问题
  • redis数据类型之string,list
  • Android android.os.DeadObjectException aidl通信异常分析及解决
  • dp + 计数,1954D - Colored Balls
  • 【设计模式深度剖析】【5】【结构型】【桥接模式】| 以电视和遥控器为例加深理解
  • 一键安装脚本sh