21xrx.com
2024-11-08 23:18:59 Friday
登录
文章检索 我的文章 写文章
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面向对象编程的基础知识和开发流程。相信在接下来的学习中,我会有更多收获。

  
  

评论区

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