JAVA,求教大佬,不用写出完整程序,大概思路就可以

利用 Vector数据结构、对象序列化、输入输出流设计并编写一个命令行图书管理系统Java应用程序,具备以下功能:1)打印系统列表(书号,作者姓名,标题,出版社,定价);2)增加一本新书;3)查找一本书;4)删除一本书;5)离开系统;6)保存系统数据到文件中;7)从文件中加载旧数据。

首先我说一下Vector,Vector本身已经很少使用了,它虽然是线程安全的,但是性能不如ArrayList,其操作方式也与ArrayList基本类似,另外说一下栈Stack继承了Vector,你也可以考虑一下使用栈。

1、打印就不说了,对象序列化后遍历向量打印输出,遍历可以使用jdk1.8的lambda表达式所支持的forEach()方法:

2、新增:Vector的public boolean add(E e)方法。

3、查找:可以使用Vector的public boolean contains(Object o) 方法确定有没有这本书。如果是只知道书名或者作者这些来查找的话,则需要遍历这个向量挨个元素进行书名比较,有则返回这本书。

4、删除:Vector的public boolean remove(Object o)方法。

5、退出:System.exit(-1);考虑用这个?

6和7:就是文件的读写可以使用xml或者json都行,json的话用阿里巴巴的fastjson能很好的序列化与反序列化,网上也有很多资料,我个人习惯使用:

读文件:FileInputStream + InputStreamReader + BufferedReader

写文件:FileOutputStream  + OutputStreamWriter  + BufferedWriter 

记得完事了关闭流

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-21

首先我想这边肯定要用到io流

以及可以的话,把某些数据放进数据库或者保存在本地

大体思路

    你需要有一个完整的程序,在程序的mian方法中开启键盘输入对象,并尽可能让界面美观些,比如

-------------------------图书管理系统-----------------------

1.书籍列表   2.新增数据    3.查询书籍   4.删除书籍   5.退出系统

---------------------------------------------------------------

2.这几个最好是一各switch结构组成,并设置合理的输入错误字母判断

3.这些似乎是围绕集合来的,所以你需要一个集合

4.查看书籍是把一个集合中的所有数据循环出来,并提供返回上一级按键

5.新增书籍要求依次输入书号,作者姓名,标题,出版社,定价,最终数据类型正确则把这个元素添加到集合中

6.查询书籍,你可以试着输入一个书号,然后遍历集合元素中的书号属性,如果是包含或者精准匹配则打印出书籍信息,否则提示没有书籍,按键返回输入书号界面或者主菜单

7.删除书籍,输入书号,遍历集合,存在则删除,没有则重复按键返回输入书号界面或者主菜单

8.退出系统,使用最终感谢界面------欢迎再次使用图书管理系统---------

并break程序。

9.保存系统数据到文件中则调用io流把集合中所有元素信息打印在xml文件中会比价好,具体才做可以百度

10.从文件中加载旧数据。则是io流的输入流,把xml中的数据放在集合中

这里的集合你可以换成字典等合适的数据

有帮助别忘记采纳亲

相似回答