Java中如何创建一个简易的图书借阅管理工具

该图书借阅系统通过Book、User和Library三个类实现核心功能,支持图书的添加、查询、借阅与归还,用户可在控制台进行交互操作,适合Java面向对象编程学习。

java中如何创建一个简易的图书借阅管理工具

在Java中创建一个简易的图书借阅管理工具,可以通过面向对象的方式实现。我们只需要几个核心类来模拟图书、用户和借阅操作,再配合基本的控制台交互即可完成基础功能。

1. 定义图书类(Book)

图书类用于表示系统中的每本图书,包含书名、作者、ISBN编号以及是否被借出的状态。

public class Book {    private String title;    private String author;    private String isbn;    private boolean isBorrowed;
public Book(String title, String author, String isbn) {    this.title = title;    this.author = author;    this.isbn = isbn;    this.isBorrowed = false;}// Getterspublic String getTitle() { return title; }public String getAuthor() { return author; }public String getIsbn() { return isbn; }public boolean isBorrowed() { return isBorrowed; }// 借出图书public void borrow() {    if (!isBorrowed) {        isBorrowed = true;    } else {        System.out.println("该书已被借出!");    }}// 归还图书public void returnBook() {    isBorrowed = false;}@Overridepublic String toString() {    return "《" + title + "》 by " + author + " (ISBN: " + isbn + ") - " +           (isBorrowed ? "已借出" : "可借阅");}

}

2. 定义用户类(User)

用户类代表借阅者,可以记录其姓名和当前借阅的图书列表。

立即学习“Java免费学习笔记(深入)”;

慧中标AI标书 慧中标AI标书

慧中标AI标书是一款AI智能辅助写标书工具。

慧中标AI标书 120 查看详情 慧中标AI标书

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

public class User {private String name;private List borrowedBooks;

public User(String name) {    this.name = name;    this.borrowedBooks = new ArrayList();}public String getName() { return name; }public void borrowBook(Book book) {    if (book != null && !book.isBorrowed()) {        book.borrow();        borrowedBooks.add(book);        System.out.println(name + " 成功借阅: " + book.getTitle());    } else {        System.out.println("无法借阅此书!");    }}public void returnBook(Book book) {    if (borrowedBooks.remove(book)) {        book.returnBook();        System.out.println(name + " 已归还: " + book.getTitle());    } else {        System.out.println("你没有借这本书!");    }}public List getBorrowedBooks() {    return new ArrayList(borrowedBooks);}

}

3. 图书管理系统主类(Library)

图书馆类负责管理所有图书和用户,并提供添加图书、查找图书、借阅和归还等功能。

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

public class Library {private List books;private List users;private Scanner scanner;

public Library() {    books = new ArrayList();    users = new ArrayList();    scanner = new Scanner(System.in);    initializeData(); // 初始化一些测试数据}// 初始化测试数据private void initializeData() {    books.add(new Book("Java编程思想", "Bruce Eckel", "978-7-121-02345-6"));    books.add(new Book("Effective Java", "Joshua Bloch", "978-7-111-21382-6"));    books.add(new Book("深入理解Java虚拟机", "周志明", "978-7-111-42157-5"));    users.add(new User("张三"));    users.add(new User("李四"));}// 添加新书public void addBook(String title, String author, String isbn) {    books.add(new Book(title, author, isbn));    System.out.println("图书添加成功:" + title);}// 查找图书(按标题或作者)public List searchBooks(String keyword) {    List result = new ArrayList();    for (Book book : books) {        if (book.getTitle().contains(keyword) || book.getAuthor().contains(keyword)) {            result.add(book);        }    }    return result;}// 显示所有图书public void displayAllBooks() {    System.out.println("n=== 所有图书 ===");    for (Book book : books) {        System.out.println(book);    }}// 主菜单public void start() {    while (true) {        System.out.println("n--- 图书借阅管理系统 ---");        System.out.println("1. 查看所有图书");        System.out.println("2. 搜索图书");        System.out.println("3. 借阅图书");        System.out.println("4. 归还图书");        System.out.println("5. 退出");        System.out.print("请选择操作:");        int choice = scanner.nextInt();        scanner.nextLine(); // 消费换行符        switch (choice) {            case 1:                displayAllBooks();                break;            case 2:                searchBook();                break;            case 3:                borrowBook();                break;            case 4:                returnBook();                break;            case 5:                System.out.println("感谢使用!");                return;            default:                System.out.println("无效选择,请重试。");        }    }}private void searchBook() {    System.out.print("请输入书名或作者关键词:");    String keyword = scanner.nextLine();    List results = searchBooks(keyword);    if (results.isEmpty()) {        System.out.println("未找到相关图书。");    } else {        System.out.println("搜索结果:");        for (Book book : results) {            System.out.println(book);        }    }}private void borrowBook() {    System.out.print("输入用户名(张三/李四):");    String userName = scanner.nextLine();    User user = users.stream()            .filter(u -> u.getName().equals(userName))            .findFirst()            .orElse(null);    if (user == null) {        System.out.println("用户不存在!");        return;    }    System.out.print("输入要借阅的书名:");    String title = scanner.nextLine();    Book book = books.stream()            .filter(b -> b.getTitle().equals(title) && !b.isBorrowed())            .findFirst()            .orElse(null);    if (book == null) {        System.out.println("图书不可借阅(可能不存在或已被借出)");    } else {        user.borrowBook(book);    }}private void returnBook() {    System.out.print("输入用户名:");    String userName = scanner.nextLine();    User user = users.stream()            .filter(u -> u.getName().equals(userName))            .findFirst()            .orElse(null);    if (user == null) {        System.out.println("用户不存在!");        return;    }    List borrowed = user.getBorrowedBooks();    if (borrowed.isEmpty()) {        System.out.println("你没有借任何书。");        return;    }    System.out.println("你借的书:");    for (int i = 0; i = 0 && index < borrowed.size()) {        user.returnBook(borrowed.get(index));    } else {        System.out.println("无效编号!");    }}public static void main(String[] args) {    Library library = new Library();    library.start();}

}

基本上就这些。这个简易系统实现了图书的增删查、用户借阅与归还的基本流程。虽然没有用数据库,但通过内存集合模拟了核心逻辑,适合学习Java基础语法、类设计和集合操作。后续可扩展加入文件存储、图形界面(Swing/JavaFX)或Spring Boot做Web版。

以上就是Java中如何创建一个简易的图书借阅管理工具的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/571531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 06:15:14
下一篇 2025年11月10日 06:16:41

相关推荐

  • 解码比特币未来:聚焦Pi周期顶部指标

    比特币即将触及高位?解析 pi cycle 顶部信号及专家对 btc 前景的展望 洞察比特币未来:聚焦 Pi Cycle 指标的关键信号 比特币价格仍在剧烈波动,投资者视线正聚焦于 Pi Cycle 顶部指标(Pi Cycle Top Indicator)!该指标被广泛用于识别市场潜在的顶部区域,近…

    2025年12月8日
    000
  • 主播集结:Web2巨头颤抖,Pump.fun与Soulbound.TV点燃流媒体金融风暴

    pump.fun 与 soulbound.tv 正在推动一场以创作者为核心的运动,通过将收入直接分享给内容创作者,挑战如 twitch 和 tiktok 等传统 web2 巨头的地位。 流媒体行业正经历深刻变革,而这一变化的推动力正是来自 Pump.fun 与 Soulbound.TV 的合作。这些…

    2025年12月8日
    000
  • Chainlink价格激增:乘着流动性浪潮攀升新高?

    chainlink (link) 凭借近期价格攀升正引发市场热议,这波涨势得益于流动性的显著提升。它是否能冲破关键阻力位,迈向新的价值高峰? Chainlink 价格上涨:流动性浪潮推动下冲击新高? Chainlink(LINK)目前展现出强劲的上涨动能,背后推手是不断增长的流动性及强烈的买入意愿。…

    2025年12月8日
    000
  • 加密货币白名单狂潮:MoonBull会成为下一个TRUMP Cheems吗?

    moonbull 的独特白名单策略正在引发模因币(meme coin)市场的震动。它是否将成为下一个爆点?还是 dogecoin 和 trump cheems 等老牌项目依旧稳居主导地位? 加密世界瞬息万变,而当前的焦点正落在 MoonBull 身上。凭借其创新的白名单发行方式,MoonBull 正…

    2025年12月8日
    000
  • 狗狗币、区块链储备与C2区块链:模因资产的新时代?

    c2 区块链战略储备 dog 币,象征着迷因文化、比特币技术与公开金融市场之间日益融合的趋势。 嘿,加密世界的朋友们!你是否曾想象过迷因币会成为区块链储备的一部分?C2 区块链正将这一想法变为现实,这无疑是一个令人振奋的尝试。接下来,让我们一起看看 DOG 币热潮背后的动因,以及它如何影响区块链行业…

    2025年12月8日
    000
  • 加密货币精选与山寨币突破:八月最热趋势

    深入八月加密货币市场!发掘如blockdag、mutuum finance和sei等有望爆发的优质替代币种,掌握最新趋势。 加密精选 & 替代币爆发:八月最热趋势 加密市场持续波动,而八月注定将成为充满机遇的一个月!除了主流币种外,越来越多精明投资者开始聚焦那些具备爆发潜力的优质替代币。让我…

    2025年12月8日
    000
  • Eclipse空投与代币供应:探索加密货币领域

    深入解析 eclipse 空投、代币供应机制及其对加密市场的影响,并结合其他代币事件的观察 Eclipse 空投与代币供应:探索加密市场新格局 加密行业不断涌现出新的变化,而近期 Eclipse 因其空投策略和代币分配机制频频引发关注。我们一起来深入了解其核心内容以及对加密社区可能带来的影响。 Ec…

    2025年12月8日
    000
  • 迈达斯、代币化资产与Etherlink:连接传统金融与去中心化金融

    探索midas如何借助etherlink扩展其代币化资产产品,将面向机构的defi策略开放给更广泛的用户群体。 传统金融(TradFi)与去中心化金融(DeFi)正在加速交汇,而Midas正处于这场变革的中心,通过代币化现实世界资产并开放对复杂金融工具的访问权限。他们与Etherlink——一个基于…

    2025年12月8日
    000
  • GameStop、Ryan Cohen 与加密货币支付:一个新时代?

    在 ryan cohen 的带领下,gamestop 不断发展的加密货币策略,涵盖比特币投资与可能的加密支付整合 GameStop、Ryan Cohen 与加密支付:是否迎来全新时代? GameStop 正在更深入地涉足加密领域,Ryan Cohen 暗示可能引入比特币等加密货币支付方式。对这家零售…

    2025年12月8日
    000
  • 加密货币ETF激增:乘市场资金流入和投资浪潮而上

    现货加密etf引领市场潮流,成为资金追捧的焦点。我们深入分析了相关趋势、aptos的崛起及其对投资的深远影响。 加密ETF热潮:把握资金流动与投资方向 加密ETF正迅速成为投资领域的新星,正在重塑人们的资产配置方式。凭借强劲的资金流入和创新机制,它们正在改变投资者接触数字资产的路径。 现货加密ETF…

    2025年12月8日
    100
  • Bittensor、NEAR 和 ICP:乘着人工智能加密浪潮前行

    深入了解bittensor、near与icp:这些由ai驱动的加密货币正以其创新技术和出色的市场表现重塑加密世界。 Bittensor、NEAR 与 ICP:AI加密浪潮中的领航者 AI与大数据驱动的加密市场正在快速崛起,Bittensor、NEAR协议以及互联网计算机(ICP)成为这一趋势中的佼佼…

    2025年12月8日
    000
  • 谷歌AI、专业计划与印度学生:梳理Pi网络的热议

    探索 pi network、google ai 以及这对印度学生意味着什么 Google AI、Pro Plan 与印度学生:揭开 Pi Network 热潮背后的真相 加密货币领域最近再度引发热议,Pi Network 和 Google AI 成为焦点,特别是这一切对印度学生可能带来的影响。这两者…

    2025年12月8日
    000
  • 比特币今日行情走势k线图查询软件 比特币最新价格走势图app

    在瞬息万变的数字货币市场,把握比特币的每一次价格波动,是每一位投资者成功的关键。想要精准捕捉行情,一款专业、实时的行情分析工具不可或缺。本文将为您介绍一款功能强大的比特币行情app,它不仅能助您洞悉市场动态,更能让您在投资路上抢占先机。 本文已为您准备好了官方APP的下载通道,您只需点击下方的链接,…

    2025年12月8日
    000
  • 比特币24小时价格走势app 比特币实时行情k线图在线查看

    在风云变幻的数字货币市场,每一秒的价格波动都可能蕴藏着巨大的机遇。想要精准把握比特币的脉搏,实时洞察市场动态吗?一款专业的比特币24小时价格走势app是您不可或缺的投资利器。它能帮助您随时随地查看行情,做出更明智的交易决策。 本文为您准备了官方正版的APP下载通道,您只需点击下方的链接,即可轻松获取…

    2025年12月8日
    000
  • 比特币交易平台有哪些 十大比特币交易平台排行榜

    比特币,作为一种去中心化数字货币,自2009年诞生以来,已经在全球范围内引发了深刻的金融变革。它的出现不仅仅是一种新的支付方式,更代表着一种全新的资产类别和对传统金融体系的挑战。 全球范围内,无数的交易平台应运而生,它们为比特币的买卖、交易和储存提供了基础设施。这些平台的操作方式、用户体验、安全措施…

    2025年12月8日
    000
  • 比特币实时行情k线图软件app 比特币价格实时k线走势图分析

    想要随时掌握比特币行情走势?这款比特币实时k线图软件app能帮你精准分析价格波动,轻松把握交易时机!无论是查看实时价格、历史k线,还是直接进行数字货币交易,这款app都能满足你的需求。本文将详细介绍如何下载安装这款功能强大的工具。 官方APP下载链接 本文提供下载链接,点击即可快速获取最新版本: 下…

    2025年12月8日
    000
  • 虚拟币交易平台有哪些 十大虚拟币交易平台排行榜

    在数字资产蓬勃发展的时代,虚拟货币交易平台已成为全球投资者参与加密经济的关键枢纽。这些平台不仅提供了买卖比特币、以太坊等各类数字货币的场所,更承载了价格发现、流动性提供以及区块链技术普及的重要功能。 选择一个安全、高效且功能丰富的交易平台,对于保障投资者的资产安全和交易体验至关重要。平台的用户界面设…

    2025年12月8日
    000
  • 免费看行情的平台有哪些 虚拟货币行情平台网址推荐

    想要了解虚拟货币的价格波动和实时走势,选择免费、更新快、中文支持的平台尤为重要。以下推荐几大常用虚拟币行情网站,均可免费访问,适合新手和老手查看实时数据。 1. 非小号 提供主流币种价格、涨跌幅排行、K线图等功能,支持中文界面,页面简洁,适合日常浏览。 2. AICoin 集行情、深度、技术指标分析…

    2025年12月8日 好文分享
    000
  • 狗狗币今日行情价格走势图app 狗狗币实时k线图表在线查看

    想时刻掌握狗狗币价格波动?是否正在寻找一个既精准又方便的行情查看工具?这款狗狗币实时行情走势图App正是你所需要的。不仅能一键查看K线图表,还支持数字货币的实时交易,全面满足你的投资决策需求。 本文提供官方app下载链接,点击下方下载按钮即可安装使用: 下载安装步骤 1、点击上方官方提供的下载链接,…

    2025年12月8日
    000
  • 币圈免费行情网站有哪些 虚拟货币行情网址推荐

    想要实时掌握币圈行情,专业的虚拟货币行情网站是每一位投资者的必备工具。相比仅依赖交易平台,独立行情网站提供的数据更加全面、透明,也更利于分析和决策。以下是一些主流币圈行情网站推荐,适合新手和进阶用户每日查阅。 CoinMarketCap:全球最大币种行情库 CoinMarketCap(CMC)是全球…

    2025年12月8日 好文分享
    000

发表回复

登录后才能评论
关注微信