答案:该图书管理系统包含图书类和管理类,实现增删查功能。通过Book类封装属性,BookManager用ArrayList存储并操作图书,Main类提供菜单交互,结构清晰可扩展。

开发一个小型图书管理系统在Java中是一个非常适合初学者到中级开发者练习面向对象编程和基础数据结构的项目。它涵盖类设计、集合操作、用户交互和简单的持久化处理。以下是实现这样一个系统的关键步骤和代码结构。
一个基本的图书管理系统应具备以下功能:
使用面向对象思想,先定义一个Book类来封装图书的基本属性和行为。
public class Book {
private String isbn;
private String title;
private String author;
private int year;
public Book(String isbn, String title, String author, int year) {
this.isbn = isbn;
this.title = title;
this.author = author;
this.year = year;
}
// Getter 方法
public String getIsbn() { return isbn; }
public String getTitle() { return title; }
public String getAuthor() { return author; }
public int getYear() { return year; }
@Override
public String toString() {
return "ISBN: " + isbn + ", 书名: " + title + ", 作者: " + author + ", 年份: " + year;
}
}
这个类负责管理图书的增删查操作,使用ArrayList存储图书对象。
BJXSHOP购物管理系统是一个功能完善、展示信息丰富的电子商店销售平台;针对企业与个人的网上销售系统;开放式远程商店管理;完善的订单管理、销售统计、结算系统;强力搜索引擎支持;提供网上多种在线支付方式解决方案;强大的技术应用能力和网络安全系统 BJXSHOP网上购物系统 - 书店版,它具备其他通用购物系统不同的功能,有针对图书销售而进行开发的一个电子商店销售平台,如图书ISBN,图书目录
0
立即学习“Java免费学习笔记(深入)”;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class BookManager {
private List<Book> books;
private Scanner scanner;
public BookManager() {
books = new ArrayList<>();
scanner = new Scanner(System.in);
}
public void addBook() {
System.out.print("输入ISBN: ");
String isbn = scanner.nextLine();
System.out.print("输入书名: ");
String title = scanner.nextLine();
System.out.print("输入作者: ");
String author = scanner.nextLine();
System.out.print("输入出版年份: ");
int year = Integer.parseInt(scanner.nextLine());
Book book = new Book(isbn, title, author, year);
books.add(book);
System.out.println("图书添加成功!");
}
public void viewAllBooks() {
if (books.isEmpty()) {
System.out.println("暂无图书记录。");
} else {
for (Book book : books) {
System.out.println(book);
}
}
}
public void searchBooks() {
System.out.print("请输入要搜索的关键词(书名或作者): ");
String keyword = scanner.nextLine().toLowerCase();
List<Book> results = new ArrayList<>();
for (Book book : books) {
if (book.getTitle().toLowerCase().contains(keyword) ||
book.getAuthor().toLowerCase().contains(keyword)) {
results.add(book);
}
}
if (results.isEmpty()) {
System.out.println("未找到相关图书。");
} else {
System.out.println("搜索结果:");
for (Book book : results) {
System.out.println(book);
}
}
}
public void deleteBook() {
System.out.print("请输入要删除的图书ISBN: ");
String isbn = scanner.nextLine();
boolean removed = books.removeIf(book -> book.getIsbn().equals(isbn));
if (removed) {
System.out.println("图书删除成功!");
} else {
System.out.println("未找到该ISBN的图书。");
}
}
}
创建主类用于启动菜单循环。
public class Main {
public static void main(String[] args) {
BookManager manager = new BookManager();
Scanner scanner = new Scanner(System.in);
int choice;
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("请选择操作: ");
try {
choice = Integer.parseInt(scanner.nextLine());
} catch (NumberFormatException e) {
System.out.println("请输入有效数字!");
continue;
}
switch (choice) {
case 1 -> manager.addBook();
case 2 -> manager.viewAllBooks();
case 3 -> manager.searchBooks();
case 4 -> manager.deleteBook();
case 5 -> {
System.out.println("感谢使用,再见!");
return;
}
default -> System.out.println("无效选择,请重试。");
}
}
}
}
基本上就这些。这个系统虽然简单,但结构清晰,易于扩展。你可以在此基础上加入文件读写(如保存到txt或JSON)、图形界面(Swing/JavaFX),甚至连接数据库(JDBC)来提升功能。关键是理解类的设计与方法的职责划分。不复杂但容易忽略细节,比如输入校验和异常处理。
以上就是在Java中如何开发小型图书管理系统的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号