简单图书管理系统开发

实现一个简单的图书管理系统

在现代社会中,图书管理系统在图书馆、书店和教育机构中扮演着重要角色。本文将介绍如何使用Java开发一个简单的图书管理系统,涵盖基本功能如添加、删除、搜索和列出图书。

功能需求

  1. 添加图书:能够向系统中添加新的图书,包括书名、作者、ISBN和出版年份等信息。
  2. 删除图书:可以根据ISBN从系统中删除图书。
  3. 搜索图书:通过书名或作者搜索图书。
  4. 列出所有图书:显示系统中所有图书的列表。

解决方案设计

数据结构

我们将使用一个Book类来表示图书,每本图书将包含以下属性:

  • title:书名
  • author:作者
  • isbn:国际标准书号
  • year:出版年份

此外,我们将使用一个ArrayList<Book>来存储所有的图书。

类设计

  1. Book类:用于表示图书对象。
  2. Library类:用于管理图书的添加、删除、搜索和列出功能。

代码实现

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

class Book {
    private String title;
    private String author;
    private String isbn;
    private int year;

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

    // Getters and toString method
    public String getTitle() {
        return title;
    }

    public String getAuthor() {
        return author;
    }

    public String getIsbn() {
        return isbn;
    }

    public int getYear() {
        return year;
    }

    @Override
    public String toString() {
        return "Book{" +
                "title='" + title + '\'' +
                ", author='" + author + '\'' +
                ", isbn='" + isbn + '\'' +
                ", year=" + year +
                '}';
    }
}

class Library {
    private List<Book> books;

    public Library() {
        books = new ArrayList<>();
    }

    public void addBook(Book book) {
        books.add(book);
    }

    public void removeBookByIsbn(String isbn) {
        books.removeIf(book -> book.getIsbn().equals(isbn));
    }

    public List<Book> searchByTitle(String title) {
        List<Book> result = new ArrayList<>();
        for (Book book : books) {
            if (book.getTitle().equalsIgnoreCase(title)) {
                result.add(book);
            }
        }
        return result;
    }

    public List<Book> searchByAuthor(String author) {
        List<Book> result = new ArrayList<>();
        for (Book book : books) {
            if (book.getAuthor().equalsIgnoreCase(author)) {
                result.add(book);
            }
        }
        return result;
    }

    public List<Book> listAllBooks() {
        return new ArrayList<>(books);
    }
}

结论

通过上述设计和实现,我们创建了一个简单的图书管理系统。这个系统能够满足基本的图书管理需求,并且可以根据需要进行扩展,例如增加用户管理、借阅记录等功能。通过使用Java的面向对象特性,我们能够有效地组织代码,提高系统的可维护性和可扩展性。