项目描述
翻译您需要实现一个图书管理系统,以维护本地图书馆的存储和排序您的书籍目录的详细信息。请注意,这不是一个商业项目,因此您需要一个具有以下功能的简单程序。
以下信息应被记录:
- 书籍。
书名
作者
出版年份
出版社
主题
- 作者。
姓名
姓氏。
- 出版社。
名称。
一本书可以由一个或多个作者撰写,而一个作者可以出版多本书。
系统中应实现以下功能:
• 设置/管理书籍、作者、出版社
• 搜索书籍或作者
• 列出特定作者撰写的所有书籍
• 列出系统中存储的所有书籍
无注册,管理员的唯一功能。
A) 项目管理的Java图形界面 – Java (10%):
使用Java创建一个桌面应用程序,具有图形用户界面,允许用户自定义、编辑和删除作者、出版社和书籍。
该应用程序应外观美观且易于使用。
面向对象设计和搜索 – Kotlin (10%)
创建域类和实体,构建支持Java GUI的面向对象结构。声明。您应应用责任分配,以确保Java GUI应用程序仅包含与用户界面相关的功能,所有其他责任分配给域和实体类。这些类必须用Kotlin实现,并集成到Java GUI中。
B) 持久性和lambda - Kotlin/Java (10%)
实现关于书籍、作者和出版社的数据一致性,以便您可以保存这些数据。
您可以选择如何保存信息(例如,保存到文件或数据库)。应使用lambda表达式来管理数据集合。这应在Kotlin或Java中实现,并集成到Java GUI中。
D. 冒泡排序算法 — Kotlin (10%)
在Kotlin中实现一个面向对象的组件,按作者和书名对所有书籍进行排序。
使用嵌套的冒泡排序算法。该算法必须集成到Java GUI中,以便
当用户列出所有书籍时,它们按字母顺序排列。
E) 合并排序算法 - Kotlin (10%)
添加另一种排序算法的实现,这次使用合并排序。当您列出所有书籍时,这
用户应能够决定使用冒泡排序还是合并排序算法。
我做到了。然而,排序的结果应该是相同的。
F) 基于排序的算法 - Scala (10%)
您已经在Kotlin中实现了使用面向对象方法的排序算法。现在实现。
使用基于排序和函数式方法的Scala排序算法。将其集成到Java GUI中,
用户现在必须能够选择使用哪三种排序算法。
当您进行排序时。
G 时间测量 — Scala/Kotlin/Java (10%)
如果您还没有,您应该用大量记录填充您的系统,以便您可以检查您实现的各种排序算法的速度。您可以尝试从现有在线来源导入书籍数据,甚至编写一些代码生成随机数据。您将需要足够的数据来测量实现算法的运行时间,并找到一些显著的统计差异。