代写 data structure algorithm Java Assignment 2 Learning Outcomes

Assignment 2 Learning Outcomes
On successful completion of this assignment, students are expected to:
 understand and be able to apply a variety of data structures together with their internal representation and algorithms;
 be able to select, with justification, appropriate data structures to ensure efficient implementation of an algorithm.
• 作业2学习结果
成功完成本作业后,学生应:
·理解并能够运用各种数据结构和他们的内部表示和algorithms;
·能够select, justification, 适当的数据结构,以确保algorithm的有效实现
To Do
Design and implement a JAVA program called ‘Library’.
Data
Your system should store books’ information. A book in your library should contain:
 ISBN: ISBN is the acronym for International Standard Book Number. It is a 10 or 13-digit number used to identify a specific book.
 Title: each book has one title, but different books can have the same title.
 Author: each book has one author, but different books can have the same author.
 Category: each book belongs to one of these 6 categories: Arts, Business, Comics, IT,
Cooking, Sports.
 How many copies in total of this book: no more than 20 copies per book.
 How many copies available for lending.
Note: Different books with the same title cannot share the same author.
• 要做
设计并实现一个名为“library”的JAVA程序
1)数据
您的系统应该存储图书信息,图书馆的一本书应包括:
·ISBN: ISBN是International Standard Book Number的缩写.它是一个10或13位数的数字,用于识别特定的书籍。
·Title: 每本书有一个title, 但不同的书籍可以有相同的title。
·Author: 每本书有一个author, 但不同的书籍可以有相同的author。
·Category: 每本书属于6 个categories的其中一个: Arts, Business, Comics, IT, Cooking, Sports.
·一种书一共多少本: 每本书不超过20份。
·可供外借的份数。
注:同一书名的不同图书不能共享同一作者。
Functionality
Your system should provide at least 5 types of functions including: input, update, delete, display and search book information:
Add:
a) Add a new book by providing all the information required.
Delete:
a) Delete a book by providing
The book’s ISBN
Or by providing the title together with the author name.
Note: When some copies of the book have been lent out, this book
cannot be deleted.
Search:
a) Search a book by providing an input of any kind, you method should display
everything that matches the input. Information of results books should be displayed in a table format and displayed in a descending order based on the total copy number of the books.
Update:
a) Find the book by ISBN and then update any information of the book (except ISBN).
Display:
a) Display all books’ information in table format. Allowing user to choose group by:
Category: display books by category.
Or author: display books by author.
Note: All your methods should provide console display of the results.
2)功能
您的系统应提供至少5种功能,包括:输入、更新、删除、显示和搜索图书信息:
•add:
通过提供所需的所有信息来添加一本新书。
•delete:
删除一本书通过
·书的ISBN
·Or通过提供标题与作者name.
·注: 当这本书的一些副本被借出时,这本书不能被删除
•search:
通过提供任何类型的输入,您的方法都应该显示与输入匹配的所有内容。结果图书的信息应以表的形式显示,并根据图书的总份数按降序显示。
•update:
按ISBN查找图书,然后更新图书的任何信息(ISBN除外)。
•display:
以表格形式显示所有图书信息。允许用户选择组通过:
·category:按类别显示图书
·author:按作者展示书籍
注意:所有方法都应该提供结果的控制台显示。

3)例子

Notes
 Capitalization makes no difference. For example ‘Add and ‘add’ can be considered as the same.
 The above scenario is just an example. It is not the standard format for your system.
 Above scenario did not consider input validation, however in your system, you should
validate the inputs.
 Your system must provide hints for user to understand what info to input during the interaction.
 It is up to you to decide what algorithms and data structures to use to keep track of books info in the system, and where to find such info.
3. 注意
1)大写没有区别。例如,“Add”和“Add”可以被认为是相同的。
2)上面的场景只是一个例子。它不是您的系统的标准格式。
3)上面的场景没有考虑输入验证,但是在您的系统中,您应该考虑
验证输入。
4)您的系统必须提供提示,以便用户理解在交互期间输入什么信息。
5)您可以决定使用什么算法和数据结构来跟踪系统中的图书信息,以及在哪里可以找到这些信息。

4.要提交什么
1)整个Netbeans项目文件夹的ZIP文件。
2)你的报告应说明你的系统结构(UML等)、你设计了什么数据结构/算法(以伪代码呈现),以及如何测试它们。您还应该分析所使用的数据结构和算法的复杂性。(不超过4页)