21xrx.com
2024-11-05 15:00:03 Tuesday
登录
文章检索 我的文章 写文章
打造简单高效的超市管理系统Java实现
2023-06-11 03:39:03 深夜i     --     --
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编程实现一款简单高效的超市管理系统。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复