使用Java编程语言进行实验。采用面向对象的思想进行系统设计。 实现基本的图书管理功能,包括添加图书、删除图书、查询图书信息等。

发布时间:2024年01月18日

需求分析

1. 确定系统的基本功能和界面设计。

2. 定义图书类(Book)及其属性和方法。

3. 定义图书管理系统类(LibrarySystem)及其属性和方法。

系统设计与实现

1. 创建一个图书类(Book),包含图书名称、作者、出版社等属性,并实现相关的get和set方法。

2. 创建一个图书管理系统类(LibrarySystem),包含添加图书、删除图书、查询图书信息等方法。

3. 在LibrarySystem类中,使用集合(如ArrayList)来存储图书信息。

4. 实现用户交互界面,可以使用命令行或者图形界面。

第一步:创建一个图书类(Book),包含图书名称、作者、出版社等属性

private String name;

? ?private String author;

? ?private String publisher;

? ?public Book(String name,String author,String publisher) {

? ? ? this.name=name;

? ? ? this.author=author;

? ? ? this.publisher=publisher;

? ?}

第二步:图书名称、作者、出版社实现相关的get和set方法。

public String getName() {

? ? ? return name;

? ?}

? ?public void setName(String name) {

? ? ? this.name=name;

? ?}

? ?public String getAuthor() {

? ? ? ? return author;

? ? }

? ? public void setAuthor(String author) {

? ? ? ? this.author = author;

? ? }

? ? public String getPublisher() {

? ? ? ? return publisher;

? ? }

? ? public void setPublisher(String publisher) {

? ? ? ? this.publisher = publisher;

? ? }

第三步:创建一个图书管理系统类(LibrarySystem),包含添加图书、删除图书、查询图书信息等方法。

while (true) {

? ? ? ? ? ? System.out.println("请选择你要进行的操作:1:添加图书,2:删除图书,3:查询图书,4:查看图书,5:退出系统");

? ? ? ? ?// 键盘录入

? ? ? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? ? ? String type = sc.next();

? ? ? ? ? ? switch (type) {

? ? ? ? ? ? ? ? case "1":

? ? ? ? ? ? ? ? ? ? // 添加

? ? ? ? ? ? ? ? ? ? addBook(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "2":

? ? ? ? ? ? ? ? // 删除图书

? ? ? ? ? ? ? ? ? ? deleteBook(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "3":

? ? ? ? ? ? ? ? // 查询某本图书

? ? ? ? ? ? ? ? findBookByName(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "4":

? ? ? ? ? ? ? ? // 查看所有图书

? ? ? ? ? ? ? ? ? ? findAllBooks(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "5":

? ? ? ? ? ? ? ? System.out.println("感谢使用,再见");

? ? ? ? ? ? ? ? ? ? System.exit(0); // 退出系统

? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? System.out.println("选择有误,请重新输入");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

第四步:在LibrarySystem类中,使用集合(如ArrayList)来存储图书信息。

//添加图书

? ?private static void addBook(ArrayList<Book> list) {

? ? ? // TODO Auto-generated method stub

? ? ? // 键盘录入

? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? System.out.println("请输入图书信息:");

? ? ? ? System.out.println("名称:");

? ? ? ? String name = sc.next();

? ? ? ? System.out.println("作者:");

? ? ? ? String author = sc.next();

? ? ? ? System.out.println("出版社:");

? ? ? ? String publisher = sc.next();

? ? ? ? // 将信息封装到图书对象

? ? ? ? Book b = new Book(name, author, publisher);

? ? ? ? // 添加到集合

? ? ? ? list.add(b);

? ? ? ? System.out.println("~~~添加成功~~~");

? ? }

? ?// 删除图书

? ?private static void deleteBook(ArrayList<Book> list) {

? ? ? // TODO Auto-generated method stub

? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? System.out.println("请输入您要删除的图书名称:");

? ? ? ? String name = sc.next();

? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? Book b = list.get(i);

? ? ? ? ? ? if (name.equals(b.getName())) { // 图书存在

? ? ? ? ? ? ? ? // 删除图书并结束方法

? ? ? ? ? ? ? ? list.remove(i);

? ? ? ? ? ? ? ? System.out.println("~~~删除成功~~~");

? ? ? ? ? ? ? ? return;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println("没有该名称的图书信息");

}

? ? // 根据图书的名称查询图书信息

? ? private static void findBookByName(ArrayList<Book> list) {

? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? System.out.println("请输入您要查询的图书名称:");

? ? ? ? String name = sc.next();

? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? Book b = list.get(i);

? ? ? ? ? ? if (name.equals(b.getName())) {

? ? ? ? ? ? ? ? System.out.println("书名\t" + "作者\t" + "出版社");

? ? ? ? ? ? ? ? System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());

? ? ? ? ? ? ? ? return;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println("没有该名称图书信息");

? ? }

?// 查看所有图书信息

? ? private static void findAllBooks(ArrayList<Book> list) {

? ? ? ? if (list == null || list.size() == 0) {

? ? ? ? ? ? System.out.println("尚无图书信息");

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? System.out.println("书名\t" + "作者\t" + "出版社");

? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? Book b = list.get(i);

? ? ? ? ? ? System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());

? ? ? ? }

? ? }

源代码:

Book.java:

package text;

public class Book {

? ?private String name;

? ?private String author;

? ?private String publisher;

? ?public Book(String name,String author,String publisher) {

? ? ? this.name=name;

? ? ? this.author=author;

? ? ? this.publisher=publisher;

? ?}

??

? ?public String getName() {

? ? ? return name;

? ?}

??

? ?public void setName(String name) {

? ? ? this.name=name;

? ?}

??

? ?public String getAuthor() {

? ? ? ? return author;

? ? }

? ? public void setAuthor(String author) {

? ? ? ? this.author = author;

? ? }

? ? public String getPublisher() {

? ? ? ? return publisher;

? ? }

? ? public void setPublisher(String publisher) {

? ? ? ? this.publisher = publisher;

? ? }

}

LibrarySystem.java:

package text;

import java.util.*;

public class LibrarySystem {

? ?public static void main(String[] args) {

? ? ? // 创建集合用于存储图书信息

? ? ? ? ArrayList<Book> list = new ArrayList<>();

? ? ? ? while (true) {

? ? ? ? ? ? System.out.println("请选择你要进行的操作:1:添加图书,2:删除图书,3:查询图书,4:查看图书,5:退出系统");

? ? ? ? ?// 键盘录入

? ? ? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? ? ? String type = sc.next();

? ? ? ? ? ? switch (type) {

? ? ? ? ? ? ? ? case "1":

? ? ? ? ? ? ? ? ? ? // 添加

? ? ? ? ? ? ? ? ? ? addBook(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "2":

? ? ? ? ? ? ? ? // 删除图书

? ? ? ? ? ? ? ? ? ? deleteBook(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "3":

? ? ? ? ? ? ? ? // 查询某本图书

? ? ? ? ? ? ? ? findBookByName(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "4":

? ? ? ? ? ? ? ? // 查看所有图书

? ? ? ? ? ? ? ? ? ? findAllBooks(list);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case "5":

? ? ? ? ? ? ? ? System.out.println("感谢使用,再见");

? ? ? ? ? ? ? ? ? ? System.exit(0); // 退出系统

? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? System.out.println("选择有误,请重新输入");

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? }

? ?//添加图书

? ?private static void addBook(ArrayList<Book> list) {

? ? ? // TODO Auto-generated method stub

? ? ? // 键盘录入

? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? System.out.println("请输入图书信息:");

? ? ? ? System.out.println("名称:");

? ? ? ? String name = sc.next();

? ? ? ? System.out.println("作者:");

? ? ? ? String author = sc.next();

? ? ? ? System.out.println("出版社:");

? ? ? ? String publisher = sc.next();

? ? ? ? // 将信息封装到图书对象

? ? ? ? Book b = new Book(name, author, publisher);

? ? ? ? // 添加到集合

? ? ? ? list.add(b);

? ? ? ? System.out.println("~~~添加成功~~~");

? ? }

? ?// 删除图书

? ?private static void deleteBook(ArrayList<Book> list) {

? ? ? // TODO Auto-generated method stub

? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? System.out.println("请输入您要删除的图书名称:");

? ? ? ? String name = sc.next();

? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? Book b = list.get(i);

? ? ? ? ? ? if (name.equals(b.getName())) { // 图书存在

? ? ? ? ? ? ? ? // 删除图书并结束方法

? ? ? ? ? ? ? ? list.remove(i);

? ? ? ? ? ? ? ? System.out.println("~~~删除成功~~~");

? ? ? ? ? ? ? ? return;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println("没有该名称的图书信息");

}

? ? // 根据图书的名称查询图书信息

? ? private static void findBookByName(ArrayList<Book> list) {

? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? System.out.println("请输入您要查询的图书名称:");

? ? ? ? String name = sc.next();

? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? Book b = list.get(i);

? ? ? ? ? ? if (name.equals(b.getName())) {

? ? ? ? ? ? ? ? System.out.println("书名\t" + "作者\t" + "出版社");

? ? ? ? ? ? ? ? System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());

? ? ? ? ? ? ? ? return;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? System.out.println("没有该名称图书信息");

? ? }

?// 查看所有图书信息

? ? private static void findAllBooks(ArrayList<Book> list) {

? ? ? ? if (list == null || list.size() == 0) {

? ? ? ? ? ? System.out.println("尚无图书信息");

? ? ? ? ? ? return;

? ? ? ? }

? ? ? ? System.out.println("书名\t" + "作者\t" + "出版社");

? ? ? ? for (int i = 0; i < list.size(); i++) {

? ? ? ? ? ? Book b = list.get(i);

? ? ? ? ? ? System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());

? ? ? ? }

? ? }

? ?}

文章来源:https://blog.csdn.net/m0_69595107/article/details/135650746
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。