21xrx.com
2025-06-17 13:48:23 Tuesday
登录
文章检索 我的文章 写文章
打造简单高效的超市管理系统Java实现
2023-06-11 03:39:03 深夜i     32     0
Java 超市管理 代码示例

在日常生活中,超市管理系统是一款必不可少的软件,其实现方式也多种多样,但其中Java编程是较为常见的一种。本文将从Java编程实现的角度出发,为大家详细介绍如何打造一款高效简单的超市管理系统。

第一步:超市商品类创建

超市商品的信息记录是超市管理系统中必不可少的一部分。我们可通过如下代码示例来创建一个商品类,其中包括商品名称、单价、库存数量等属性:

java
public class Commodity {
  private String commodityName;
  private double unitPrice;
  private int stockNum;
  
  public Commodity(String commodityName, double unitPrice, int stockNum)
    this.commodityName = commodityName;
    this.unitPrice = unitPrice;
    this.stockNum = stockNum;
  
  
  // 省略getter和setter方法
}

第二步:超市购物车类创建

为实现超市购物功能,我们还需创建一个购物车类。该类需记录客户选择的商品及其数量等相关信息。下面是一个简单的购物车类示例:

java
public class ShoppingCart {
  private Map
  commodityMap = new HashMap<>();
 
  // 将商品添加到购物车
  public void addToCart(Commodity commodity, int count) {
    if (count <= 0) {
      throw new IllegalArgumentException("Invalid commodity count: " + count);
    }
    Integer currentCount = commodityMap.get(commodity);
    if (currentCount == null)
      currentCount = 0;
    
    commodityMap.put(commodity, currentCount + count);
  }
  // 清空购物车
  public void clearCart() {
    commodityMap.clear();
  }
  // 省略getter和setter方法
}

第三步:超市管理系统实现

我们已经创建了商品和购物车两个类,下面是实现超市管理系统的关键步骤:

java
public class SuperMarketSystem {
  // 商品集合类,用于存储超市中的商品信息
  private List
  commodityList = new ArrayList<>();
 
  // 初始化商品信息
  public void initCommodity() {
    commodityList.add(new Commodity("牛奶", 4.50, 20));
    commodityList.add(new Commodity("饼干", 3.00, 30));
    commodityList.add(new Commodity("洗发水", 24.00, 10));
    commodityList.add(new Commodity("面包", 5.00, 25));
    commodityList.add(new Commodity("矿泉水", 2.00, 50));
  }
  // 商品打印,将超市中的所有商品信息打印出来
  public void printCommodity() {
    System.out.println("超市商品列表:");
    for (Commodity commodity : commodityList) {
      System.out.println("- " + commodity.getCommodityName()
          + " 单价:" + commodity.getUnitPrice()
          + " 库存:" + commodity.getStockNum() + " 件");
    }
  }
  // 根据商品名查找商品,返回该商品的信息(如不存在,则返回null)
  public Commodity findCommodity(String name) {
    for (Commodity commodity : commodityList) {
      if (commodity.getCommodityName().equals(name))
        return commodity;
      
    }
    return null;
  }
  // 实现购物功能
  public void shopping() {
    Scanner scanner = new Scanner(System.in);
    ShoppingCart shoppingCart = new ShoppingCart();
    boolean flag = true;
    while (flag) {
      System.out.println("购物指南:请输入购物指令(q=退出购物,c=清空购物车,p=打印购物车,s=提交购物车)");
      String command = scanner.nextLine();
      switch (command) {
        case "q": //退出购物
          flag = false;
          break;
        case "c": //清空购物车
          shoppingCart.clearCart();
          System.out.println("购物车已清空");
          break;
        case "p": //打印购物车
          Map
  commodityMap = shoppingCart.getCommodityMap();
 
          System.out.println("购物车内容如下:");
          for (Commodity commodity : commodityMap.keySet()) {
            System.out.println("- " + commodity.getCommodityName()
                + " 单价:" + commodity.getUnitPrice()
                + " 购买数量:" + commodityMap.get(commodity) + " 件");
          }
          break;
        case "s": //提交购物车
          System.out.println("请输入商品名和购买数量(格式:商品名 数字),中间请用空格分隔");
          String input = scanner.nextLine();
          String[] inputs = input.split(" ");
          if (inputs.length != 2) {
            System.out.println("输入格式不正确,请重新输入");
            break;
          }
          String commodityName = inputs[0];
          int count = Integer.valueOf(inputs[1]);
          if (count <= 0) {
            System.out.println("输入数量必须为正整数,请重新输入");
            break;
          }
          Commodity commodity = findCommodity(commodityName);
          if (commodity == null) {
            System.out.println("商品" + commodityName + "不存在,请重新输入");
            break;
          }
          if (count > commodity.getStockNum()) {
            System.out.println("商品" + commodityName + "库存不足,请重新输入");
            break;
          }
          shoppingCart.addToCart(commodity, count);
          commodity.setStockNum(commodity.getStockNum() - count);
          System.out.println("商品" + commodityName + "已经成功加入购物车");
          break;
        default:
          System.out.println("无效的指令,请重新输入!");
          break;
      }
    }
    System.out.println("感谢您的光临,欢迎下次再来!");
  }
  public static void main(String[] args) {
    SuperMarketSystem system = new SuperMarketSystem();
    system.initCommodity();
    system.printCommodity();
    system.shopping();
  }
}

以上就是本文的全部内容,通过以上代码示例,相信读者已经能够初步了解如何通过Java编程实现一款简单高效的超市管理系统。

  
  

评论区

    相似文章