案例题目描述:
请实现一个简单的图书管理系统,要求如下:
1、 定义图书类Book,具有属性账号id,书名name、作者author 和价格price,在创建图书对象时要求通过构造器进行创建,一次性将四个属性全部赋值,要求账户属性是int型,名称是String型,作者是String型,价格是double,在录入用户时账户属性值不可以重复。在创建好用户后,书名不能进行更改,只可以进行访问。其他请合理进行封装。
2、 在Book类,添加toString方法,要求返回 图书信息字符串,使用\t隔开各信息
3、 定义管理类Manager,定义添加图书的方法add,按书名修改价格的方法 update,按照账户删除图书的方法delete,按账号查询图书的方法query,要求返回Book类型。按作者查询图书的方法 query,要求返回Book类型。查询所有图书的方法 showAll
按价格降序排序方法
4、 编写Test测试类,图书信息如下:
书号 |
书名 |
作者 |
价格 |
1001 |
红楼梦 |
张三 |
200 |
2002 |
西游记 |
李四 |
140.50 |
3003 |
三国演义 |
王五 |
130 |
4004 |
水浒传 |
赵六 |
83 |
5005 |
三个和尚 |
李四 |
50 |
依次做如下操作:
案例完成思路要求:
完成Book类的编写,进行合理封装。重写toString方法(30分)
在Manaer类中定义一个集合对象,可以通过ArrayList进行实例化,此集合是用来存放储户Book对象的,私有此对象,提供setter、getter方法,在定义集合对象时请使用泛型。(20分)
完成add\update\delete\query方法
编写测试类得到Manager类中的用户集合,通过迭代器进行遍历,在遍历时可以调用showAll方法进行控制台信息打印。(15分)
要求代码每个方法都有注释。(10分)
画流程图。(5分)
注意事项:
在考试完提交代码时,只提交Book\Manager\Test三个类,不要将整个工程进行提交。(请按要求提交)