21xrx.com
2024-11-25 21:05:18 Monday
登录
文章检索 我的文章 写文章
Java编写图书管理系统——代码案例详解
2023-06-14 20:57:32 深夜i     --     --

图书管理系统是当前图书馆及资料室必备的一种管理软件,Java编程语言作为一种常用的面向对象语言,经常被应用于系统开发中。在这篇文章中,我们将通过一个简单的代码案例来介绍Java编写图书管理系统的基本知识和步骤。

一、系统设计

在设计系统之前,我们需要明确系统的功能需求。本文描述的图书管理系统主要包括以下五个功能:添加图书信息、删除图书信息、修改图书信息、查询图书信息和借书还书。设计过程中,我们需要定义若干个对象,例如:Book类表示图书信息,Library类表示图书馆,User类表示用户信息等。具体的实现过程将在下一章节中介绍。

二、系统实现

为了让代码更加清晰易懂,我们将系统分为三个部分:图书管理类(BookManagement)、图书类(Book)和图书馆类(Library)。其中,Book类包含图书信息的各个属性。Library类包含各个图书信息的容器(例如:List、Set、Map等)。BookManagement类是系统的核心,用来实现系统的各种功能。下面是代码实现的详细过程。

1. Book类


public class Book {

  private int id; // 图书ID

  private String name; // 图书名称

  private String author; // 图书作者

  private String publisher; // 出版社

  private String publishingTime; // 出版时间

  private int borrowingCount; // 借出次数

  private int totalNumber; // 总数

  private int availableNumber; // 可借数

  public Book(int id, String name, String author, String publisher, String publishingTime, int totalNumber)

    this.id = id;

    this.name = name;

    this.author = author;

    this.publisher = publisher;

    this.publishingTime = publishingTime;

    this.borrowingCount = 0;

    this.totalNumber = totalNumber;

    this.availableNumber = totalNumber;

  

  // getter and setter methods

  ...

}

2. Library类


import java.util.*;

public class Library {

  private List bookList = new ArrayList<>();

  // 图书馆提供的方法

  public void addBook(Book book) { ... }

  public void deleteBook(int id) { ... }

  public List searchBook(String name) { ... }

  public Book getBook(int id) { ... }

  public List getBookList() { ... }

  public boolean borrow(Book book) { ... }

  public boolean returnBook(Book book) { ... }

  // 私有方法

  private void updateBookList(Book book) { ... }

  private Book findBookById(int id) { ... }

  private List findBookByName(String name) { ... }

  private boolean checkBorrowingLimit(int borrowingCount, int totalNumber) { ... }

  private boolean checkAvailableNumber(Book book) { ... }

}

3. BookManagement类


import java.util.Scanner;

public class BookManagement {

  private static Scanner scanner = new Scanner(System.in);

  private static Library library = new Library();

  public static void main(String[] args) {

    boolean isExit = false;

    while (!isExit) {

      System.out.println("欢迎使用图书馆管理系统!");

      System.out.println("请选择操作:");

      System.out.println("1.添加图书信息");

      System.out.println("2.删除图书信息");

      System.out.println("3.修改图书信息");

      System.out.println("4.查询图书信息");

      System.out.println("5.借出图书");

      System.out.println("6.还回图书");

      System.out.println("7.退出系统");

      int choice = scanner.nextInt();

      switch (choice) {

        case 1:

          addBook();

          break;

        case 2:

          deleteBook();

          break;

        case 3:

          updateBook();

          break;

        case 4:

          searchBook();

          break;

        case 5:

          borrowBook();

          break;

        case 6:

          returnBook();

          break;

        case 7:

          isExit = true;

          break;

        default:

          System.out.println("输入错误!");

      }

    }

  }

  // 添加图书信息

  private static void addBook() { ... }

  // 删除图书信息

  private static void deleteBook() { ... }

  // 修改图书信息

  private static void updateBook() { ... }

  // 查询图书信息

  private static void searchBook() { ... }

  // 借出图书

  private static void borrowBook() { ... }

  // 还回图书

  private static void returnBook() { ... }

}

三、代码运行

运行程序后,我们可以在控制台看到如下界面(这里只展示了部分操作):


欢迎使用图书馆管理系统!

请选择操作:

1.添加图书信息

2.删除图书信息

3.修改图书信息

4.查询图书信息

5.借出图书

6.还回图书

7.退出系统

请选择操作:1

请输入图书信息(ID,名称,作者,出版社,出版时间,数量):101,Java从入门到精通,李刚,电子工业出版社,2016-06-01,5

添加成功

请选择操作:4

请输入图书名称:Java

编号  书名       作者   出版社     出版时间     是否可借

101  Java从入门到精通  李刚   电子工业出版社  2016-06-01   可借(5/5)

请选择操作:5

请输入图书ID:101

借出成功

请选择操作:4

请输入图书名称:Java

编号  书名       作者   出版社     出版时间     是否可借

101  Java从入门到精通  李刚   电子工业出版社  2016-06-01   可借(4/5)

四、关键词

1. Java语言

2. 图书管理系统

3. 对象设计

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复