图书管理系统(Java实现)

Java在控制台实现图书管理系统

 

利用面向对象的思想设计一个图书管理系统。图书的属性有:编号,书名,作者,价格。要求提供如下功能:

1、提供操作菜单,可以选择要进行的操作。

2、可以添加图书,添加图书时,编号需要唯一,添加成功,返回到菜单。

3、可以查询图书,显示所有图书信息,然后返回到菜单。

4、可以根据书名,查询单本图书信息,显示信息后,返回到菜单。

5、可以删除图书,通过编号删除,删除成功后,返回到菜单。

6、可以修改图书的信息,但编号不可以修改,修改成功后,返回到菜单。

7、可以退出系统,结束程序运行。

代码实现

创建图书类

class book {
    private String bookId;
    private String name;
    private String author;
    private double price;

    public book() {
    }

    public book(String bookId, String name, String author, double price) {
        this.bookId = bookId;
        this.name = name;
        this.author = author;
        this.price = price;
    }

    public String getBookId() {
        return bookId;
    }

    public void setBookId(String bookId) {
        this.bookId = bookId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}

在测试类中创建图书对象并对图书进行管理

package day_11;

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

public class day_4 {
    public static void main(String[] args) {
        ArrayList<book> list = new ArrayList<>();
        while (true) {
            System.out.println("----------欢迎进入图书管理系统----------");
            System.out.println("1.添加图书");
            System.out.println("2.删除图书");
            System.out.println("3.修改图书");
            System.out.println("4.查询图书");
            System.out.println("5.退出");
            System.out.println("请输入你的选项进行图书管理:");
            Scanner input = new Scanner(System.in);
            String choose = input.next();
            switch (choose){
                case "1"-> addBook(list);
                case "2"-> deleteBook(list);
                case "3"-> updateBook(list);
                case "4"-> showBook(list);
                case "5"-> {
                    System.out.println("谢谢使用!");
                    System.exit(0);
                }
                default -> System.out.println("没有这个选项,请重新输入你的选项!!");
            }
        }
    }
    public static void addBook(ArrayList<book> list){
        book b = new book();
        Scanner input = new Scanner(System.in);
        System.out.println("请输入你要添加的书的id:");
        String bookId = input.next();
        if(check(list,bookId)>=0){
            System.out.println("该图书id已存在,请重新输入!!");
            return;
        }
        b.setBookId(bookId);
        System.out.println("请输入你要添加的书的书名:");
        String name = input.next();
        b.setName(name);
        System.out.println("请输入你要添加书的作者:");
        String author = input.next();
        b.setAuthor(author);
        System.out.println("请输入你要添加书的价格:");
        double price = input.nextDouble();
        b.setPrice(price);
        list.add(b);
        System.out.println("添加图书成功!!");
    }
    public static void deleteBook(ArrayList<book> list){
        System.out.println("请输入你要删除的书的id:");
        Scanner input = new Scanner(System.in);
        String id = input.next();
        for (int i = 0; i < list.size(); i++) {
            book b = list.get(i);
            if(b.getBookId().equals(id)){
                list.remove(i--);
                System.out.println("删除图书成功!!");
            }
        }
    }
    public static void updateBook(ArrayList<book> list){
        System.out.println("请输入你要修改书的书id:");
        Scanner input = new Scanner(System.in);
        String id = input.next();
        for (int i = 0; i < list.size(); i++) {
            book b = list.get(i);
            if(b.getBookId().equals(id)){
                System.out.println("请输入新书的书名:");
                String newBookName = input.next();
                b.setName(newBookName);
                System.out.println("请输入新书的作者:");
                String newBookAuthor = input.next();
                b.setAuthor(newBookAuthor);
                System.out.println("请输入新书的价格:");
                double newBookPrice = input.nextDouble();
                b.setPrice(newBookPrice);
                list.set(i,b);
            }
        }
    }
    public static void showBook(ArrayList<book> list){
        System.out.println("书id"+"\t书名"+"\t\t作者"+"\t\t\t价格");
        for (int i = 0; i < list.size(); i++) {
            book b = list.get(i);
            System.out.println(b.getBookId()+"\t\t"+b.getName()+"\t\t"+b.getAuthor()+"\t\t"+b.getPrice());
        }
    }
    public static int check(ArrayList<book> list,String id){
        for (int i = 0; i < list.size(); i++) {
            book b = list.get(i);
            if(b.getBookId().equals(id)){
                return i;
            }
        }
        return -1;
    }
}

输出结果

 

 

  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值