编写一个程序,模拟一个简单的电商网站的商品库存管理系统。使用二维数组存储商品信息,包括商品名称和库存数量,并实现以下功能:
添加新商品到库存中。
更新已有商品的库存数量。
显示所有商品的名称和库存数量。
要求:效果如下:
====== 电商网站商品库存管理系统 ====== 1. 添加新商品 2. 更新已有商品库存数量 3. 显示所有商品名称和库存数量 0. 退出 请选择操作:1 请输入新商品的名称:沙琪玛 请输入新商品的库存数量:10 新商品添加成功! ====== 电商网站商品库存管理系统 ====== 1. 添加新商品 2. 更新已有商品库存数量 3. 显示所有商品名称和库存数量 0. 退出 请选择操作:2 当前库存中的商品: 1. 沙琪玛 - 库存数量:10 请选择要更新库存数量的商品编号:2 无效的商品编号! ====== 电商网站商品库存管理系统 ====== 1. 添加新商品 2. 更新已有商品库存数量 3. 显示所有商品名称和库存数量 0. 退出 请选择操作:2 当前库存中的商品: 1. 沙琪玛 - 库存数量:10 请选择要更新库存数量的商品编号:1 请输入新的库存数量:12 商品库存数量更新成功! ====== 电商网站商品库存管理系统 ====== 1. 添加新商品 2. 更新已有商品库存数量 3. 显示所有商品名称和库存数量 0. 退出 请选择操作:3 所有商品的名称和库存数量: 沙琪玛 - 库存数量:12 ====== 电商网站商品库存管理系统 ====== 1. 添加新商品 2. 更新已有商品库存数量 3. 显示所有商品名称和库存数量 0. 退出 请选择操作:0 感谢使用,再见! |
参考代码:
package com.hr.work;
import java.util.Scanner;
/**
* 类的说明:
* 编写一个程序,模拟一个简单的电商网站的商品库存管理系统。
* 使用二维数组存储商品信息,包括商品名称和库存数量,并实现以下功能:
* <p>
* 添加新商品到库存中。
* 更新已有商品的库存数量。
* 显示所有商品的名称和库存数量。
* 格言:认认真真敲代码
*
* @author 汤老师
* @date 2024/3/26 16:49
*/
public class ECommerceSystem {
private static final int MAX_PRODUCTS = 100; // 最大商品数量
private static final int PRODUCT_FIELDS = 2; // 商品信息字段数量
private static String[][] inventory = new String[MAX_PRODUCTS][PRODUCT_FIELDS]; // 商品库存数组
private static int productCount = 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("0. 退出");
System.out.print("请选择操作:");
choice = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
switch (choice) {
case 1:
//1. 添加新商品
addProduct(scanner);
break;
case 2:
//2. 更新已有商品库存数量
updateProduct(scanner);
break;
case 3:
//3. 显示所有商品名称和库存数量
displayInventory();
break;
case 0:
//0. 退出
System.out.println("感谢使用,再见!");
break;
default:
System.out.println("无效的选项,请重新选择!");
}
} while (choice != 0);
scanner.close();//关流
}
// 添加新商品
private static void addProduct(Scanner scanner) {
if (productCount >= MAX_PRODUCTS) {
System.out.println("库存已满,无法添加新商品!");
return;
}
System.out.print("请输入新商品的名称:");
String productName = scanner.nextLine();
System.out.print("请输入新商品的库存数量:");
int productQuantity = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
inventory[productCount][0] = productName;
inventory[productCount][1] = String.valueOf(productQuantity);
productCount++;
System.out.println("新商品添加成功!");
}
// 更新已有商品的库存数量
private static void updateProduct(Scanner scanner) {
if (productCount == 0) {
System.out.println("库存为空,请先添加商品!");
return;
}
System.out.println("当前库存中的商品:");
for (int i = 0; i < productCount; i++) {
System.out.println((i + 1) + ". " + inventory[i][0] + " - 库存数量:" + inventory[i][1]);
}
System.out.print("请选择要更新库存数量的商品编号:");
int productIndex = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
if (productIndex < 1 || productIndex > productCount) {
System.out.println("无效的商品编号!");
return;
}
System.out.print("请输入新的库存数量:");
int newQuantity = scanner.nextInt();
scanner.nextLine(); // 消耗换行符
inventory[productIndex - 1][1] = String.valueOf(newQuantity);
System.out.println("商品库存数量更新成功!");
}
// 显示所有商品的名称和库存数量
private static void displayInventory() {
if (productCount == 0) {
System.out.println("库存为空!");
return;
}
System.out.println("所有商品的名称和库存数量:");
for (int i = 0; i < productCount; i++) {
System.out.println(inventory[i][0] + " - 库存数量:" + inventory[i][1]);
}
}
}