21xrx.com
2025-03-24 01:32:49 Monday
文章检索 我的文章 写文章
Java编写超市购物程序
2023-06-11 06:31:16 深夜i     --     --
Java 超市购物 程序

我最近在学习Java编程,尝试着写了一个超市购物程序。下面我分享一下我的学习经历和代码实现。

程序实现步骤:

1. 首先,我创建了一个商品类(Product),里面包括商品编号、商品名称和商品价格等属性,以及相应的构造方法和getter、setter方法。

public class Product {
  private String id;
  private String name;
  private double price;
  
  public Product(String id, String name, double price)
    this.id = id;
    this.name = name;
    this.price = price;
  
  
  // getter and setter methods
}

2. 接着,我创建了一个超市类(Supermarket),里面包括存储商品信息的list,以及购物车(cart)等属性。超市类中还实现了添加商品、展示所有商品、添加商品到购物车和结账等方法。

public class Supermarket {
  private List
  productList;
 
  private Map
  cart; // 存储购物车中的商品id和数量
 
  
  public Supermarket() {
    productList = new ArrayList<>();
    cart = new HashMap<>();
  }
  
  // 添加商品
  public void addProduct(Product product) {
    productList.add(product);
  }
  
  // 展示商品列表
  public void showProducts() {
    for (Product product : productList) {
      System.out.println(product.getId() + " " + product.getName() + " " + product.getPrice());
    }
  }
  
  // 添加商品到购物车
  public void addToCart(String id, int num) {
    if (cart.containsKey(id)) {
      cart.put(id, cart.get(id) + num);
    } else {
      cart.put(id, num);
    }
  }
  
  // 结账
  public void checkout() {
    double total = 0;
    for (String id : cart.keySet()) {
      for (Product product : productList) {
        if (product.getId().equals(id)) {
          total += product.getPrice() * cart.get(id);
        }
      }
    }
    System.out.println("总价:" + total);
  }
}

3. 最后,我在主函数中初始化商品信息、创建超市实例,然后实现购物程序的交互逻辑。

public class Main {
  public static void main(String[] args) {
    // 初始化商品信息
    Product p1 = new Product("001", "可乐", 3.5);
    Product p2 = new Product("002", "雪碧", 3.0);
    Product p3 = new Product("003", "苹果", 2.5);
    
    // 创建超市实例
    Supermarket market = new Supermarket();
    market.addProduct(p1);
    market.addProduct(p2);
    market.addProduct(p3);
    
    // 实现购物程序的交互逻辑
    Scanner scanner = new Scanner(System.in);
    while (true) {
      System.out.println("======================");
      System.out.println("请输入操作编号:");
      System.out.println("1. 查看商品列表");
      System.out.println("2. 添加商品到购物车");
      System.out.println("3. 结账");
      System.out.println("0. 退出");
      System.out.println("======================");
      int operation = scanner.nextInt();
      if (operation == 0)
        break;
      
      switch (operation) {
        case 1:
          market.showProducts();
          break;
        case 2:
          System.out.print("请输入商品编号:");
          String id = scanner.next();
          System.out.print("请输入添加数量:");
          int num = scanner.nextInt();
          market.addToCart(id, num);
          System.out.println("添加成功!");
          break;
        case 3:
          market.checkout();
          break;
      }
    }
    scanner.close();
  }
}

至此,超市购物程序完成了。我在学习Java编程的过程中,通过编写实例程序,掌握了Java面向对象编程的基础知识和开发流程。相信在接下来的学习中,我会有更多收获。

  
  

评论区