该图书借阅系统基于Java面向对象设计,包含书籍、用户和借阅记录的管理。通过Book类存储书籍信息并跟踪借阅状态,User类表示用户基本信息,BorrowRecord类记录借书详情,Library类使用Map和List集合实现书籍添加、用户注册、借还书操作及查询功能,并在Main类中演示完整流程,体现了类、对象与集合的应用。

实现一个简易的书籍借阅系统,可以帮助理解Java中的类、对象、集合操作以及基本的面向对象设计。下面是一个简单的图书借阅系统示例,包含书籍管理、用户管理和借阅功能。
1. 书籍类(Book)
用于表示一本书的基本信息:
class Book { private String isbn; private String title; private String author; private boolean isBorrowed; public Book(String isbn, String title, String author) { this.isbn = isbn; this.title = title; this.author = author; this.isBorrowed = false; } // Getters public String getIsbn() { return isbn; } public String getTitle() { return title; } public String getAuthor() { return author; } public boolean isBorrowed() { return isBorrowed; } // Set borrowed status public void setBorrowed(boolean borrowed) { this.isBorrowed = borrowed; } @Override public String toString() { return "ISBN: " + isbn + ", Title: " + title + ", Author: " + author + ", Borrowed: " + isBorrowed; }}
2. 用户类(User)
表示借书的用户:
class User { private String userId; private String name; public User(String userId, String name) { this.userId = userId; this.name = name; } public String getUserId() { return userId; } public String getName() { return name; } @Override public String toString() { return "ID: " + userId + ", Name: " + name; }}
3. 借阅记录类(BorrowRecord)
记录某用户借了哪本书:
立即学习“Java免费学习笔记(深入)”;
Levity
AI帮你自动化日常任务
206 查看详情
class BorrowRecord { private String userId; private String isbn; private String borrowDate; public BorrowRecord(String userId, String isbn, String borrowDate) { this.userId = userId; this.isbn = isbn; this.borrowDate = borrowDate; } public String getUserId() { return userId; } public String getIsbn() { return isbn; } public String getBorrowDate() { return borrowDate; } @Override public String toString() { return "User ID: " + userId + " borrowed ISBN: " + isbn + " on " + borrowDate; }}
4. 图书馆类(Library)
核心管理类,负责书籍、用户和借阅操作:
import java.util.*;class Library { private Map books; // 存储书籍,键为ISBN private Map users; // 存储用户,键为用户ID private List records; // 借阅记录列表 public Library() { books = new HashMap(); users = new HashMap(); records = new ArrayList(); } // 添加书籍 public void addBook(Book book) { if (books.containsKey(book.getIsbn())) { System.out.println("书籍已存在:" + book.getTitle()); } else { books.put(book.getIsbn(), book); System.out.println("书籍添加成功:" + book.getTitle()); } } // 注册用户 public void addUser(User user) { if (users.containsKey(user.getUserId())) { System.out.println("用户已存在:" + user.getName()); } else { users.put(user.getUserId(), user); System.out.println("用户注册成功:" + user.getName()); } } // 借书 public void borrowBook(String userId, String isbn, String borrowDate) { User user = users.get(userId); Book book = books.get(isbn); if (user == null) { System.out.println("用户不存在!"); return; } if (book == null) { System.out.println("书籍不存在!"); return; } if (book.isBorrowed()) { System.out.println("该书已被借出:" + book.getTitle()); return; } book.setBorrowed(true); records.add(new BorrowRecord(userId, isbn, borrowDate)); System.out.println(user.getName() + " 成功借阅:《" + book.getTitle() + "》"); } // 还书 public void returnBook(String isbn, String returnDate) { Book book = books.get(isbn); if (book == null) { System.out.println("书籍不存在!"); return; } if (!book.isBorrowed()) { System.out.println("该书未被借出,无需归还。"); return; } book.setBorrowed(false); System.out.println("《" + book.getTitle() + "》已归还,归还日期:" + returnDate); } // 查询书籍 public void searchBook(String keyword) { boolean found = false; for (Book book : books.values()) { if (book.getTitle().toLowerCase().contains(keyword.toLowerCase()) || book.getAuthor().toLowerCase().contains(keyword.toLowerCase())) { System.out.println(book); found = true; } } if (!found) { System.out.println("未找到相关书籍。"); } } // 显示所有借阅记录 public void showBorrowRecords() { if (records.isEmpty()) { System.out.println("暂无借阅记录。"); } else { for (BorrowRecord record : records) { System.out.println(record); } } }}
5. 主程序测试
演示系统使用方式:
public class Main { public static void main(String[] args) { Library library = new Library(); // 添加书籍 library.addBook(new Book("001", "Java编程思想", "Bruce Eckel")); library.addBook(new Book("002", "Effective Java", "Joshua Bloch")); // 注册用户 library.addUser(new User("U001", "张三")); library.addUser(new User("U002", "李四")); // 借书 library.borrowBook("U001", "001", "2025-04-05"); // 再次尝试借同一本书 library.borrowBook("U002", "001", "2025-04-06"); // 应提示已借出 // 还书 library.returnBook("001", "2025-04-10"); // 再借一次 library.borrowBook("U002", "001", "2025-04-11"); // 查询书籍 library.searchBook("java"); // 显示借阅记录 library.showBorrowRecords(); }}
基本上就这些。这个简易系统展示了Java中如何通过类和集合来模拟现实场景。你可以在此基础上扩展功能,比如加入文件持久化、图形界面或异常处理等。不复杂但容易忽略细节,比如状态判断和重复数据检查。
以上就是Java中简易书籍借阅系统的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/741823.html
微信扫一扫
支付宝扫一扫