【Java案例】购书系统(超详细)

⭐️ 不爱生姜不吃醋

声明:
🌻原创不易,转载请注明原链接 ❗️
🌻看完之后觉得不错的话麻烦动动小手点个赞赞吧👍
🌻如果本文有什么错误的话欢迎在评论区中指正哦💗
🌻大家的支持就是我最大的动力!冲啊!🌹🌹🌹
🌻与其明天开始,不如现在行动!💪
🌸 Java案例 | 学籍管理系统(超详解 )


💎一、购书系统

1.前言

伴随着互联网的飞速发展,网络购书系统作为电子商务的一种形式,正以其高效低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会的快节奏生活,使更多顾客可以足不出户就能方便快捷地购买自己喜欢的图书。

2.功能介绍

使用Java语言编写一个基于控制台的购书系统,实现购书功能。输出所有图书的信息:每本书的编号书名单价库存
在顾客购买书时,根据提示输入图书编号来选购需要的书,并根据提示输入购买书的数量
购买完毕后输出顾客的订单信息,包括:订单号订单明细订单总额

3.分析

  1. 需要创建三个实体类:图书类、订单项类、订单类。
  2. 由于购买图书时,需要选择图书的数量,所以需要在订单项类里定义获取图书对象以及图书数量方法
  3. 由于需要指定订单项以及获取订单的订单列表、订单号、订单总额等信息,所以需要有订单列表订单号订单总额指定订单项方法

💎二、图书类(Book)

1.类名及属性

  • 图书编号(id)
  • 图书名称(name)
  • 图书单价(price)
  • 库存数量(storage)

2.代码示例

/*
定义图书类
*/
public class Book {
    private int id;
    private String name;
    private double price;
    private int stock;
    //无参构造
    public Book() {
    }
    //带四个参数的构造
    public Book(int id, String name, double price, int stock) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.stock = stock;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public double getPrice() {
        return price;
    }

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

    public int getStock() {
        return stock;
    }

    public void setStock(int stock) {
        this.stock = stock;
    }
}


💎三、订单项类(OrderItem)

1.类名及属性

  • 图书(book)
  • 购买数量(num)

2.代码示例

/*
定义订单项类
*/
public class OrderItem {
    private Book book;
    private int num;

    public OrderItem() {
    }
    public OrderItem(Book book, int num) {
        this.book = book;
        this.num = num;
    }

    public Book getBook() {
        return book;
    }

    public void setBook(Book book) {
        this.book = book;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }
}


💎四、订单类(Order)

1.类名及属性

  • 订单号(orderID)
  • 订单总额(total)
  • 订单项列表(items)

2.代码示例

/*
订单类
*/
public class Order {
    private String orderID;
    private OrderItem[] items = new OrderItem[3];
    private double totalMoney;

    public Order() {
    }

    public Order(String orderID) {
        this.orderID = orderID;
    }

    public String getOrderID() {
        return orderID;
    }

    public void setOrderID(String orderID) {
        this.orderID = orderID;
    }

    public OrderItem[] getItems() {
        return items;
    }

    public void setItems(int i,OrderItem item) {
        items[i]=item;
    }

    public double getTotalMoney() {
        for (int i = 0; i < items.length; i++) {
            totalMoney += items[i].getNum()*items[i].getBook().getPrice();
        }
        return totalMoney;
    }
}

💎五、测试类(Test)

1.编写打印图书信息的方法

/*
打印图书信息的方法
*/
    private static void printBooks(Book[] books) {
        books[0]=new Book(1,"Java2实用教程",10,20);
        books[1]=new Book(2,"计算机网络原理",20,20);
        books[2]=new Book(3,"概率论数理统计",30,20);

        System.out.println("图书编号\t图书名称\t\t\t图书单价\t图书库存");
        for (int i = 0; i < books.length; i++) {
            Book b=books[i];
            System.out.println("\t"+b.getId() +"\t\t"+b.getName()+"\t\t"+b.getPrice()+"\t\t"+b.getStock());
        }
    }

2.编写购买图书的方法

/*
购买图书的方法
*/
    private static Order buy(Book[] books) {
        Order order = new Order("001");
        Scanner sc=new Scanner(System.in);
        for (int i = 0; i < books.length; i++) {
            System.out.println("请输入图书的编号:");
            int id = sc.nextInt();
            System.out.println("请输入购买的数量:");
            int num = sc.nextInt();
            OrderItem item = new OrderItem(books[id-1],num);
            order.setItems(i,item);
        }
        return order;
    }

3.编写打印订单信息方法

/*
打印订单信息方法
*/
    private static void printInfo(Order order) {
        System.out.println("订单编号:"+order.getOrderID());
        System.out.println("图书名称\t\t图书单价\t购买的数量");
        OrderItem[] items = order.getItems();
        for (int i = 0; i < items.length; i++) {
            System.out.println(items[i].getBook().getName()+"\t"+items[i].getBook().getPrice()+"\t\t"+items[i].getNum());
        }
        System.out.println("----------------------------------");
        System.out.println("总金额:"+order.getTotalMoney());
    }

4.编写main方法

    public static void main(String[] args) {
        Book[] books = new Book[3];

        //调用打印图书信息的方法
        printBooks(books);

        //调用购买图书的方法
        Order order = buy(books);

        //调用打印订单信息方法
        printInfo(order);
    }

💎六、总结

通过本实例学会分析“基于控制台的购书系统”程序任务实现的逻辑思路,掌握并理解面向对象的程序设计,包和访问控制修饰符的使用。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!
配图

  • 69
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 48
    评论
Java 网上购书系统是一个基于Java语言开发的在线购书平台,用户可以在该系统上浏览和购买各种图书系统主要包括用户管理、图书管理、订单管理和评价管理等模块。 在用户管理模块中,用户可以注册、登录、修改个人信息、查看购物车和订单等操作。在图书管理模块中,用户可以根据分类、关键词等进行图书搜索,查看图书详情、加入购物车或直接购买。在订单管理模块中,用户可以查看订单详情、进行订单支付、取消订单等操作。而评价管理模块则为用户提供了对购买的图书进行评价和评论的功能。 系统的后台管理功能也是该系统的重要组成部分,管理员可以对用户信息进行管理、对图书信息进行增删改查、对订单信息进行处理等操作。同时,系统还应该具备用户身份验证、数据加密、交易安全等保障措施,为用户提供安全可靠的购书环境。 此外,Java 网上购书系统应该具备良好的用户体验和界面设计,使得用户在购书过程中能够轻松、快捷地找到自己想要的图书,并完成购买操作。同时,系统也应该具备良好的性能和稳定性,保证用户可以随时随地访问并使用系统。 总之,Java 网上购书系统是一个方便用户购书的线上平台,它将为用户提供订购图书、查看订单、评价图书等多种功能,以满足用户的购书需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不爱生姜不吃醋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值