java之图书管理系统

建立一个Java图书管理系统:

分为三大要点:

1.用户:管理员和普通用户。

2.书:书这个类的定义:规定成员变量如:书名,作者价格等。以及存放书的”书架“

3.对书的各类操作(书架上)

t1:构建三个包,书、用户以及对书架的操作方法(ioperation)

t2:对书类的定义:书名,作者,价格,类型,以及借阅状态。

构造书的构造方法:由于布尔变量isborrowed默认为false,构造方法可以不写(默认都是未借出)

由于是private为私有成员类,默认为封装,需要构造getter和setter方法:

t3:构建"书架”:

如何将这些书放到书架上?构建数组:

构建一个可以容纳10个书的"书架",以及”书架“上现有的书数量

booklist构造方法:将三本书写进。

t4:构建用户:在User中创建user、normalUser、AdmiUser三个类

你并不能直接确定user是普通用户还是管理员,所以user这个类是抽象类。

User构造方法:帮忙初始化父类的成员。

t5:构建普通成员类和管理员类:

这里创建的构造方法都调用了父类User,帮助父类初始化。

t6:实现以下管理员界面和普通用户界面:

在普通用户与管理员里创建”菜单“成员方法:

t7:实现登录界面:

创建一个独立的Main方法(class),用于实现登陆页面。

面对不同选择有不同结果,返回值为User。

在main方法里(不是Main ) 通过向下转型实现登陆界面。

由于不同menu不同结果,所以menu为抽象类,记得在User类中设置为抽象类。(在普通用户与管理员中menu实现了多态)

T8:实现具体的操作:

在ioperations包里创建这些方法。同时,这些方法都要有一个共同的”工作“接口,用于显示各项的具体操作实现。(包含上BookList方法,里面有具体用到的操作。)

1.Addoperation(增加书籍)方法的构建:

1:判断书架是否已经满:

创建一个currentSize类型:通过Booklist里的getused方法将usedsize赋给currentsize。

如果书架上现有的书数量和书架最大容量相等,则不能放置书了。返回

2:构建你想要添加的图书:创建name,author等新的量。

for循环,每次循环书架上的书,并构建一个新的book变量,用于保存你在书架上的书,

每次循环与你新创建的书进行比较即可(用到equal方法),如果有相同,说明不能插入(同一本书),返回。否则,可以插入

,通过setbook方法将书插入末尾。具体代码如下:

2.BorrowedOpperation方法的实现:

同理,创建一个currentSize方法,调用getusedsize得到现有书籍数量,for循环书架上的每一本书籍,其名字与你借的书比较,若相同且isBorrowed方法为true(已被借出),否则将setborrowed设为true,借阅成功。具体代码如下:

3.deloperation方法:

创建一个整形pos变量,设置一个随机值(ex1:0)

跟上述同理,fori循环书架上的每一本书与你要删除的书名字比较,若相等,将i的值赋给pos,break退出。

如果循环一遍后没有找到即pos=currentSize,没找到。

然后开始删除的具体操作:

从pos处开始作为for j循环的起点,通过getbook方法将pos+1处的书籍赋给新创建的变量book,再将book放在pos的位置上。

具体代码如下:

4.exitOperation方法的实现:

6.find方法的实现:

部分步骤和上述类似:

代码实现如下:

7.归还operation方法的实现:和borrowed方法类似,注意:找到还的那本书后isborrowed方法要从true改为false(已经借出到未借出)

8.show方法的实现:

for循环打印即可:

代码如下:

T9:将ioperation方法放在用户中 :在普通用户和管理员的构造方法中创建ioperation数组,将这些方法放入(记得将ioperation包搞进来)

在父类User中创建构造方法,用于用户操作:

最后,在main方法中循环使用即可。

喜欢的老铁来个三连吧!!!

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值