Java基础二维数组【订单管理系统】相关训练题(三)

假设你正在为电商网站设计一个简单的订单管理系统。使用二维数组来存储订单信息,每一行代表一个订单,包括订单号、商品名称、数量和总价。编写一个程序实现以下功能:

添加新订单。

根据订单号查询订单信息。

显示所有订单信息。

根据商品名称统计销售数量。

效果图

====== 电商网站订单管理系统 ======

1. 添加新订单

2. 根据订单号查询订单信息

3. 显示所有订单信息

4. 根据商品名称统计销售数量

0. 退出

请选择操作:1

请输入订单号:1001

请输入商品名称:防晒霜

请输入数量:2

请输入总价:120

订单添加成功!

====== 电商网站订单管理系统 ======

1. 添加新订单

2. 根据订单号查询订单信息

3. 显示所有订单信息

4. 根据商品名称统计销售数量

0. 退出

请选择操作:1

请输入订单号:1002

请输入商品名称:太阳伞

请输入数量:10

请输入总价:500

订单添加成功!

====== 电商网站订单管理系统 ======

1. 添加新订单

2. 根据订单号查询订单信息

3. 显示所有订单信息

4. 根据商品名称统计销售数量

0. 退出

请选择操作:2

请输入订单号:1001

订单号:1001

商品名称:防晒霜

数量:2

总价:120.0

====== 电商网站订单管理系统 ======

1. 添加新订单

2. 根据订单号查询订单信息

3. 显示所有订单信息

4. 根据商品名称统计销售数量

0. 退出

请选择操作:3

所有订单信息:

订单号:1001

商品名称:防晒霜

数量:2

总价:120.0

-----------------------

订单号:1002

商品名称:太阳伞

数量:10

总价:500.0

-----------------------

====== 电商网站订单管理系统 ======

1. 添加新订单

2. 根据订单号查询订单信息

3. 显示所有订单信息

4. 根据商品名称统计销售数量

0. 退出

请选择操作:4

请输入要查询的商品名称:太阳伞

商品 太阳伞 的销售数量为:10

====== 电商网站订单管理系统 ======

1. 添加新订单

2. 根据订单号查询订单信息

3. 显示所有订单信息

4. 根据商品名称统计销售数量

0. 退出

请选择操作:0

感谢使用,再见!

参考代码:

package com.hr.work;

import java.util.Scanner;

/**
 * 类的说明:
 * 假设你正在为电商网站设计一个简单的订单管理系统。
 * 使用二维数组来存储订单信息,每一行代表一个订单,
 * 包括订单号、商品名称、数量和总价。
 * 编写一个程序实现以下功能:
 * <p>
 * 添加新订单。
 * 根据订单号查询订单信息。
 * 显示所有订单信息。
 * 根据商品名称统计销售数量。
 * 格言:认认真真敲代码
 *
 * @author 汤老师
 * @date 2024/3/26 14:49
 */

public class OrderManagementSystem {
    private static final int MAX_ORDERS = 100; // 最大订单数量
    private static final int ORDER_FIELDS = 4; // 订单信息字段数量
    private static String[][] orders = new String[MAX_ORDERS][ORDER_FIELDS]; // 订单数组
    private static int orderCount = 0; // 订单数量

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int choice;
        do {
            System.out.println("====== 电商网站订单管理系统 ======");
            System.out.println("1. 添加新订单");
            System.out.println("2. 根据订单号查询订单信息");
            System.out.println("3. 显示所有订单信息");
            System.out.println("4. 根据商品名称统计销售数量");
            System.out.println("0. 退出");
            System.out.print("请选择操作:");
            choice = scanner.nextInt();
            scanner.nextLine(); // 消耗换行符

            switch (choice) {
                case 1:
                    addOrder(scanner);
                    break;
                case 2:
                    searchOrderByID(scanner);
                    break;
                case 3:
                    displayAllOrders();
                    break;
                case 4:
                    countSalesByProductName(scanner);
                    break;
                case 0:
                    System.out.println("感谢使用,再见!");
                    break;
                default:
                    System.out.println("无效的选项,请重新选择!");
            }
        } while (choice != 0);
        scanner.close();
    }

    // 添加新订单
    private static void addOrder(Scanner scanner) {
        if (orderCount >= MAX_ORDERS) {
            System.out.println("订单已满,无法添加新订单!");
            return;
        }
        System.out.print("请输入订单号:");
        String orderID = scanner.nextLine();
        System.out.print("请输入商品名称:");
        String productName = scanner.nextLine();
        System.out.print("请输入数量:");
        int quantity = scanner.nextInt();
        System.out.print("请输入总价:");
        double totalPrice = scanner.nextDouble();
        scanner.nextLine(); // 消耗换行符

        orders[orderCount][0] = orderID;
        orders[orderCount][1] = productName;
        orders[orderCount][2] = String.valueOf(quantity);
        orders[orderCount][3] = String.valueOf(totalPrice);
        orderCount++;

        System.out.println("订单添加成功!");
    }

    // 根据订单号查询订单信息
    private static void searchOrderByID(Scanner scanner) {
        if (orderCount == 0) {
            System.out.println("订单为空!");
            return;
        }
        System.out.print("请输入订单号:");
        String orderID = scanner.nextLine();

        for (int i = 0; i < orderCount; i++) {
            if (orders[i][0].equals(orderID)) {
                System.out.println("订单号:" + orders[i][0]);
                System.out.println("商品名称:" + orders[i][1]);
                System.out.println("数量:" + orders[i][2]);
                System.out.println("总价:" + orders[i][3]);
                return;
            }
        }
        System.out.println("未找到订单号为 " + orderID + " 的订单!");
    }

    // 显示所有订单信息
    private static void displayAllOrders() {
        if (orderCount == 0) {
            System.out.println("订单为空!");
            return;
        }
        System.out.println("所有订单信息:");
        for (int i = 0; i < orderCount; i++) {
            System.out.println("订单号:" + orders[i][0]);
            System.out.println("商品名称:" + orders[i][1]);
            System.out.println("数量:" + orders[i][2]);
            System.out.println("总价:" + orders[i][3]);
            System.out.println("-----------------------");
        }
    }

    // 根据商品名称统计销售数量
    private static void countSalesByProductName(Scanner scanner) {
        if (orderCount == 0) {
            System.out.println("订单为空!");
            return;
        }
        System.out.print("请输入要查询的商品名称:");
        String productName = scanner.nextLine();
        int totalSales = 0;

        for (int i = 0; i < orderCount; i++) {
            if (orders[i][1].equalsIgnoreCase(productName)) {
                totalSales += Integer.parseInt(orders[i][2]);
            }
        }
        System.out.println("商品 " + productName + " 的销售数量为:" + totalSales);
    }
}

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

汤永红

一分也是爱

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

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

打赏作者

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

抵扣说明:

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

余额充值