Java实现图书管理系统

Java实现图书管理系统

主要内容

  • 类和对象:在Java中,所有的事物都可以被建模为类。这个程序中,有两个类BookManagerBook,分别表示图书管理器和图书。类中定义了属性和方法,属性表示类的状态,方法表示类的行为。对象则是类的实例。

  • 集合:程序中使用了ArrayList集合来存储和管理图书对象。ArrayList是Java集合框架中的一部分,它是一个动态数组,可以自动调整其大小。

  • 循环:程序中使用了do...while循环来重复显示菜单,直到用户选择退出。

  • 分支语句:程序中使用了switch语句根据用户的选择执行不同的操作。

  • 方法:程序中定义了多个方法,例如addBookdisplayBooks、和searchBook,这些方法分别实现添加图书、显示图书、和搜索图书的功能。将代码分解为多个方法可以提高代码的可读性和可维护性。

  • 输入/输出:程序中使用了Scanner类来获取用户的输入,使用System.out.println方法来输出信息。

  • 封装Book类封装了图书的属性和行为。通过定义私有属性和公共方法,我们保证了类的内部状态的完整性和安全性。

  • 方法重写Book类中重写了toString方法,这样在打印图书对象时可以输出更有意义的信息。

代码

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

public class BookManager {
    private ArrayList<Book> bookList;
    private Scanner scanner;

    public BookManager() {
        bookList = new ArrayList<>();  // 创建图书列表
        scanner = new Scanner(System.in);  // 创建扫描器用于获取用户输入
    }

    public static void main(String[] args) {
        BookManager manager = new BookManager();  // 创建图书管理器实例
        manager.start();  // 启动图书管理器
    }

    public void start() {
        int choice;
        do {
            System.out.println("----------------------------");
            System.out.println("欢迎使用图书管理系统");
            System.out.println("1. 添加图书");
            System.out.println("2. 展示所有图书");
            System.out.println("3. 搜索图书");
            System.out.println("4. 退出");
            System.out.println("请输入您的选择: ");
            choice = scanner.nextInt();  // 获取用户的选择
            switch (choice) {
                case 1:
                    addBook();  // 添加图书
                    break;
                case 2:
                    displayBooks();  // 展示所有图书
                    break;
                case 3:
                    searchBook();  // 搜索图书
                    break;
                case 4:
                    System.out.println("退出中... 谢谢您的使用!");
                    break;
                default:
                    System.out.println("无效选择,请重新输入.");
                    break;
            }
        } while (choice != 4);
    }

    public void addBook() {
        System.out.println("请输入图书名称: ");
        String name = scanner.next();
        System.out.println("请输入作者名称: ");
        String author = scanner.next();
        bookList.add(new Book(name, author));  // 创建新的图书对象并添加到列表中
        System.out.println("图书添加成功.");
    }

    public void displayBooks() {
        for (Book book : bookList) {  // 遍历图书列表
            System.out.println(book);  // 打印图书信息
        }
    }

    public void searchBook() {
        System.out.println("请输入图书名称: ");
        String name = scanner.next();
        for (Book book : bookList) {  // 遍历图书列表
            if (book.getName().equalsIgnoreCase(name)) {  // 如果找到匹配的图书
                System.out.println(book);  // 打印图书信息
                return;
            }
        }
        System.out.println("未找到该图书.");
    }
}

class Book {
    private String name;  // 图书名称
    private String author;  // 作者名称

    public Book(String name, String author) {  // 构造方法
        this.name = name;
        this.author = author;
    }

    public String getName() {  // 获取图书名称
        return name;
    }

    public String getAuthor() {  // 获取作者名称
        return author;
    }

    @Override
    public String toString() {  // 重写toString方法,返回图书的详细信息
        return "图书{" +
                "名称='" + name + '\'' +
                ", 作者='" + author + '\'' +
                '}';
    }
}

运行截图

图片

 

Java文件

 
BookManager.java
java文件
3.3K
© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容