Java SE 项目方案:图书管理系统

1. 项目概述

图书管理系统是一个用于管理图书信息的Java SE项目。它实现了基本的图书信息的增、删、查、改功能,并能够提供用户友好的界面。项目的目标是帮助用户便捷地管理图书,提高图书管理的效率。

2. 功能需求

本项目主要包括以下几个核心功能:

  • 添加图书:用户可以添加新的图书信息。
  • 删除图书:用户可以根据图书ID删除图书。
  • 查询图书:用户可以根据条件查询图书。
  • 修改图书:用户可以修改已有图书的信息。

3. 系统设计

3.1 类图设计

系统的类图如下所示,使用Mermaid语法表示:

classDiagram
    class Book {
        +String id
        +String title
        +String author
        +int year
        +String publisher
        +void displayInfo()
    }

    class BookManager {
        +List<Book> bookList
        +void addBook(Book book)
        +Book searchBook(String id)
        +void deleteBook(String id)
        +void updateBook(Book book)
        +void displayAllBooks()
    }

3.2 数据结构设计

使用列表(List)保存图书信息,每本图书的基本属性包括:ID、标题、作者、出版年份和出版社。以下是图书信息的表格展示:

属性 类型 说明
id String 图书唯一标识
title String 图书标题
author String 作者姓名
year int 出版年份
publisher String 出版社

4. 代码实现

下面是系统的核心代码实现。

4.1 图书类

public class Book {
    private String id;
    private String title;
    private String author;
    private int year;
    private String publisher;

    public Book(String id, String title, String author, int year, String publisher) {
        this.id = id;
        this.title = title;
        this.author = author;
        this.year = year;
        this.publisher = publisher;
    }

    public void displayInfo() {
        System.out.println("ID: " + id + ", Title: " + title + ", Author: " + author + 
                           ", Year: " + year + ", Publisher: " + publisher);
    }

    // 省略 getter 和 setter 方法
}

4.2 图书管理类

import java.util.ArrayList;
import java.util.List;

public class BookManager {
    private List<Book> bookList;

    public BookManager() {
        this.bookList = new ArrayList<>();
    }

    public void addBook(Book book) {
        bookList.add(book);
        System.out.println("图书 " + book.getTitle() + " 成功添加。");
    }

    public Book searchBook(String id) {
        for (Book book : bookList) {
            if (book.getId().equals(id)) {
                return book;
            }
        }
        return null;
    }

    public void deleteBook(String id) {
        Book book = searchBook(id);
        if (book != null) {
            bookList.remove(book);
            System.out.println("图书 " + id + " 成功删除。");
        } else {
            System.out.println("未找到图书 ID: " + id);
        }
    }

    public void updateBook(Book updatedBook) {
        for (int i = 0; i < bookList.size(); i++) {
            if (bookList.get(i).getId().equals(updatedBook.getId())) {
                bookList.set(i, updatedBook);
                System.out.println("图书 " + updatedBook.getId() + " 信息已更新。");
                return;
            }
        }
        System.out.println("未找到图书 ID: " + updatedBook.getId());
    }

    public void displayAllBooks() {
        for (Book book : bookList) {
            book.displayInfo();
        }
    }
}

4.3 主程序类

public class Main {
    public static void main(String[] args) {
        BookManager manager = new BookManager();
        
        Book book1 = new Book("1", "Java Programming", "John Doe", 2020, "Tech Publisher");
        manager.addBook(book1);
        
        manager.displayAllBooks();
        
        manager.deleteBook("1");
        manager.displayAllBooks();
    }
}

5. 总结

通过本项目,我们实现了一个简单的图书管理系统,包括图书的增、删、查、改功能。该系统使用Java SE编写,能够有效地管理图书信息,满足基本的功能需求。在将来,可以考虑加入用户管理功能、图书分类、数据持久化等更复杂的功能,以提升系统的实用性和扩展性。