Java简单图书管理系统
1. 介绍
图书管理系统是一种常见的管理系统,用于管理图书馆或书店的图书信息。本文将介绍一个简单的图书管理系统,用Java语言实现。该系统具有以下功能:
- 添加图书:管理员可以添加新的图书信息,包括书名、作者、出版社等。
- 删除图书:管理员可以删除已有的图书信息。
- 查询图书:用户可以通过关键字查询图书信息,并显示匹配的结果。
- 借阅图书:用户可以借阅某本图书,并更新图书的借阅状态。
- 归还图书:用户可以归还已借阅的图书,并更新图书的借阅状态。
2. 系统设计
2.1 类设计
系统主要包含以下几个类:
Book
类:表示图书,包含图书的基本信息,如书名、作者、出版社等。Library
类:表示图书馆,包含图书的集合,以及相关的操作方法,如添加图书、删除图书等。User
类:表示用户,包含用户的基本信息,以及借阅图书的方法。Main
类:系统的入口类,包含主要的功能方法和用户界面。
2.2 类之间的关系
系统的类之间存在以下关系:
Library
类包含一个图书集合,可以调用图书的添加、删除等方法。User
类可以调用图书馆的查询、借阅、归还等方法。Main
类包含图书馆和用户对象,调用其相关方法实现图书管理系统的功能。
2.3 流程图
下图是图书管理系统的流程图:
st=>start: 开始
op1=>operation: 显示菜单
cond1=>condition: 选择菜单项
op2=>operation: 执行对应操作
op3=>operation: 返回菜单
e=>end: 结束
st->op1->cond1
cond1(yes)->op2->op3->op1
cond1(no)->e
3. 代码实现
3.1 Book类
public class Book {
private String title;
private String author;
private String publisher;
public Book(String title, String author, String publisher) {
this.title = title;
this.author = author;
this.publisher = publisher;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
public String getPublisher() {
return publisher;
}
}
3.2 Library类
import java.util.ArrayList;
import java.util.List;
public class Library {
private List<Book> books;
public Library() {
this.books = new ArrayList<>();
}
public void addBook(Book book) {
books.add(book);
}
public void removeBook(Book book) {
books.remove(book);
}
public List<Book> search(String keyword) {
List<Book> result = new ArrayList<>();
for (Book book : books) {
if (book.getTitle().contains(keyword) ||
book.getAuthor().contains(keyword) ||
book.getPublisher().contains(keyword)) {
result.add(book);
}
}
return result;
}
}
3.3 User类
import java.util.ArrayList;
import java.util.List;
public class User {
private String name;
private List<Book> borrowedBooks;
public User(String name) {
this.name = name;
this.borrowedBooks = new ArrayList<>();
}
public void borrowBook(Book book) {
borrowedBooks.add(book);
}
public void returnBook(Book book) {
borrowedBooks.remove(book);
}
}
3.4 Main类
import java.util.List;
import java.util.Scanner;
public class Main {
private static Library library;
private static User user;
public static void main(String[] args) {
library = new Library();
user = new User("John");
while (true) {
displayMenu();
int choice = getUserChoice();
executeChoice(choice);
}
}
private static void displayMenu() {
System.out.println("========= 图书管理系统 =========");
System.out.println("1. 添加图书");
System.out.println("2. 删除图书");
System.out.println("3. 查询图书");
System.out.println("4. 借阅图书");
System.out.println("5. 归还图书");