0
点赞
收藏
分享

微信扫一扫

构建一个简单的图书馆管理系统

以下是一个Java代码示例,它模拟了一个简单的图书馆管理系统。该系统包括书籍类(Book)、读者类(Reader)和图书馆类(Library)。详细注释每个部分并添加一些额外的功能,如借书、还书和书籍搜索。

java复制代码
 // 导入必要的包  
 
 import java.util.ArrayList;  
 
 import java.util.List;  
 
 import java.util.Scanner;  
 
   
 
 // 书籍类  
 
 class Book {  
 
     private String id;  
 
     private String title;  
 
     private String author;  
 
     private boolean isBorrowed;  
 
   
 
     // 构造方法  
 
     public Book(String id, String title, String author) {  
 
         this.id = id;  
 
         this.title = title;  
 
         this.author = author;  
 
         this.isBorrowed = false;  
 
     }  
 
   
 
     // getter和setter方法  
 
     // ...(此处省略getter和setter方法的代码)  
 
   
 
     // 书籍信息展示  
 
     @Override  
 
     public String toString() {  
 
         return "ID: " + id + ", Title: " + title + ", Author: " + author + ", Borrowed: " + isBorrowed;  
 
     }  
 
 }  
 
   
 
 // 读者类  
 
 class Reader {  
 
     private String id;  
 
     private String name;  
 
     private List<Book> borrowedBooks;  
 
   
 
     // 构造方法  
 
     public Reader(String id, String name) {  
 
         this.id = id;  
 
         this.name = name;  
 
         this.borrowedBooks = new ArrayList<>();  
 
     }  
 
   
 
     // 借阅书籍  
 
     public void borrowBook(Book book) {  
 
         if (!book.isBorrowed) {  
 
             book.isBorrowed = true;  
 
             borrowedBooks.add(book);  
 
             System.out.println(name + " borrowed " + book.title);  
 
         } else {  
 
             System.out.println("This book is already borrowed.");  
 
         }  
 
     }  
 
   
 
     // 归还书籍  
 
     public void returnBook(Book book) {  
 
         if (borrowedBooks.contains(book)) {  
 
             book.isBorrowed = false;  
 
             borrowedBooks.remove(book);  
 
             System.out.println(name + " returned " + book.title);  
 
         } else {  
 
             System.out.println("You haven't borrowed this book.");  
 
         }  
 
     }  
 
   
 
     // getter和setter方法  
 
     // ...(此处省略getter和setter方法的代码)  
 
   
 
     // 读者借阅的书籍列表展示  
 
     public void displayBorrowedBooks() {  
 
         System.out.println(name + " borrowed books:");  
 
         for (Book book : borrowedBooks) {  
 
             System.out.println(book);  
 
         }  
 
     }  
 
 }  
 
   
 
 // 图书馆类  
 
 class Library {  
 
     private List<Book> books;  
 
   
 
     // 构造方法  
 
     public Library() {  
 
         this.books = new ArrayList<>();  
 
         // 初始化一些书籍  
 
         books.add(new Book("1001", "Effective Java", "Bruce Eckel"));  
 
         books.add(new Book("1002", "Clean Code", "Robert C. Martin"));  
 
         books.add(new Book("1003", "Refactoring", "Martin Fowler"));  
 
         // ... 可以继续添加更多书籍  
 
     }  
 
   
 
     // 添加书籍到图书馆  
 
     public void addBook(Book book) {  
 
         books.add(book);  
 
     }  
 
   
 
     // 书籍搜索  
 
     public List<Book> searchBooks(String keyword) {  
 
         List<Book> searchResults = new ArrayList<>();  
 
         for (Book book : books) {  
 
             if (book.title.contains(keyword) || book.author.contains(keyword)) {  
 
                 searchResults.add(book);  
 
             }  
 
         }  
 
         return searchResults;  
 
     }  
 
   
 
     // 展示图书馆所有书籍  
 
     public void displayBooks() {  
 
         System.out.println("All books in the library:");  
 
         for (Book book : books) {  
 
             System.out.println(book);  
 
         }  
 
     }  
 
 }  
 
   
 
 // 主类,用于运行图书馆管理系统的示例  
 
 public class LibraryManagementSystem {  
 
     public static void main(String[] args) {  
 
         Scanner scanner = new Scanner(System.in);  
 
   
 
         // 创建图书馆实例  
 
         Library library = new Library();  
 
   
 
         // 展示所有书籍  
 
         library.displayBooks();  
 
   
 
         // 创建读者实例  
 
         Reader reader = new Reader("R001", "John以下是一个Java代码示例,它模拟了一个简单的图书馆管理系统。该系统包括书籍类(Book)、读者类(Reader)和图书馆类(Library)。为了满足1500字的要求,我将详细注释每个部分并添加一些额外的功能,如借书、还书和书籍搜索。

java
// 导入必要的包  
import java.util.ArrayList;  
import java.util.List;  
import java.util.Scanner;  
  
// 书籍类  
class Book {  
    private String id;  
    private String title;  
    private String author;  
    private boolean isBorrowed;  
  
    // 构造方法  
    public Book(String id, String title, String author) {  
        this.id = id;  
        this.title = title;  
        this.author = author;  
        this.isBorrowed = false;  
    }  
  
    // getter和setter方法  
    // ...(此处省略getter和setter方法的代码)  
  
    // 书籍信息展示  
    @Override  
    public String toString() {  
        return "ID: " + id + ", Title: " + title + ", Author: " + author + ", Borrowed: " + isBorrowed;  
    }  
}  
  
// 读者类  
class Reader {  
    private String id;  
    private String name;  
    private List<Book> borrowedBooks;  
  
    // 构造方法  
    public Reader(String id, String name) {  
        this.id = id;  
        this.name = name;  
        this.borrowedBooks = new ArrayList<>();  
    }  
  
    // 借阅书籍  
    public void borrowBook(Book book) {  
        if (!book.isBorrowed) {  
            book.isBorrowed = true;  
            borrowedBooks.add(book);  
            System.out.println(name + " borrowed " + book.title);  
        } else {  
            System.out.println("This book is already borrowed.");  
        }  
    }  
  
    // 归还书籍  
    public void returnBook(Book book) {  
        if (borrowedBooks.contains(book)) {  
            book.isBorrowed = false;  
            borrowedBooks.remove(book);  
            System.out.println(name + " returned " + book.title);  
        } else {  
            System.out.println("You haven't borrowed this book.");  
        }  
    }  
  
    // getter和setter方法  
    // ...(此处省略getter和setter方法的代码)  
  
    // 读者借阅的书籍列表展示  
    public void displayBorrowedBooks() {  
        System.out.println(name + " borrowed books:");  
        for (Book book : borrowedBooks) {  
            System.out.println(book);  
        }  
    }  
}  
  
// 图书馆类  
class Library {  
    private List<Book> books;  
  
    // 构造方法  
    public Library() {  
        this.books = new ArrayList<>();  
        // 初始化一些书籍  
        books.add(new Book("1001", "Effective Java", "Bruce Eckel"));  
        books.add(new Book("1002", "Clean Code", "Robert C. Martin"));  
        books.add(new Book("1003", "Refactoring", "Martin Fowler"));  
        // ... 可以继续添加更多书籍  
    }  
  
    // 添加书籍到图书馆  
    public void addBook(Book book) {  
        books.add(book);  
    }  
  
    // 书籍搜索  
    public List<Book> searchBooks(String keyword) {  
        List<Book> searchResults = new ArrayList<>();  
        for (Book book : books) {  
            if (book.title.contains(keyword) || book.author.contains(keyword)) {  
                searchResults.add(book);  
            }  
        }  
        return searchResults;  
    }  henanhuahan.com
  
    // 展示图书馆所有书籍  
    public void displayBooks() {  
        System.out.println("All books in the library:");  
        for (Book book : books) {  
            System.out.println(book);  
        }  
    }  
}  
  
// 主类,用于运行图书馆管理系统的示例  
public class LibraryManagementSystem {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
  
        // 创建图书馆实例  
        Library library = new Library();  
  
        // 展示所有书籍  
        library.displayBooks();  
  
        // 创建读者实例  
        Reader reader = new Reader("R001", "JohnDoe");


// 书籍搜索和借阅示例  
 
     System.out.println("Search for a book (enter keyword):");  
 
     String keyword = scanner.nextLine();  
 
     List<Book> searchResults = library.searchBooks(keyword);  
 
  
 
     if (searchResults.isEmpty()) {  
 
         System.out.println("No books found.");  
 
     } else {  yanziliangpin.com
 
         System.out.println("Books found:");  
 
         for (Book book : searchResults) {  
 
             System.out.println(book);  
 
             System.out.println("Do you want to borrow this book? (yes/no)");  
 
             String borrow = scanner.nextLine();  
 
             if ("yes".equalsIgnoreCase(borrow)) {  
 
                 reader.borrowBook(book);  
 
             }  
 
         }  
 
     }  
 
  
 
     // 显示读者借阅的书籍  
 
     reader.displayBorrowedBooks();  
 
  
 
     // 假设读者已经阅读完书籍并想要归还  
 
     System.out.println("Enter the ID of the book you want to return:");  
 
     String bookIdToReturn = scanner.nextLine();  
 
     for (Book book : library.books) {  
 
         if (book.id.equals(bookIdToReturn)) {  
 
             reader.returnBook(book);  
 
             break;  
 
         }  
 
     }  
 
  
 
     // 再次显示读者借阅的书籍(应该为空)  
 
     reader.displayBorrowedBooks();  
 
  
 
     // 关闭scanner  
 
     scanner.close();  
 
 }

}

// 注释:
// 以上代码模拟了一个简单的图书馆管理系统,包含了书籍的搜索、借阅和归还功能。
// 书籍类(Book)包含了书籍的基本信息,如ID、标题、作者以及是否被借阅的状态。
// 读者类(Reader)包含了读者的ID、姓名以及借阅的书籍列表。
// 图书馆类(Library)包含了图书馆的书籍列表,并提供了添加书籍、搜索书籍和展示所有书籍的方法。
// 主类(LibraryManagementSystem)用于运行这个图书馆管理系统的示例,并通过Scanner类与用户进行交互。
// 用户可以搜索书籍并决定是否借阅,也可以归还已经借阅的书籍。

// 这个代码示例添加了一些额外的注释和描述,使得代码更加详细和易于理解。在实际开发中,可能会根据具体需求进行更精简的设计和实现。

举报

相关推荐

0 条评论