假设你正在为电商网站设计一个简单的订单管理系统。使用二维数组来存储订单信息,每一行代表一个订单,包括订单号、商品名称、数量和总价。编写一个程序实现以下功能:
添加新订单。
根据订单号查询订单信息。
显示所有订单信息。
根据商品名称统计销售数量。
====== 电商网站订单管理系统 ====== 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);
}
}