Java编写网上超市购物结算功能程序

Java编写网上超市购物结算功能程序

简述

本攻略主要讲解在Java语言中,如何编写实现网上超市购物结算功能的程序。实现的功能包括添加商品到购物车、修改购物车中商品数量、删除购物车中商品、结算等。

实现步骤

  1. 创建商品类
public class Product {
    private int id; // 商品编号
    private String name; // 商品名称
    private double price; // 商品价格

    public Product(int id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}
  1. 创建购物车类
import java.util.ArrayList;
import java.util.List;

public class ShoppingCart {
    private List<Product> productList = new ArrayList<>();

    // 添加商品到购物车
    public void addProduct(Product product) {
        productList.add(product);
    }

    // 从购物车中删除商品
    public void removeProduct(Product product) {
        productList.remove(product);
    }

    // 修改购物车中商品的数量
    public void updateProductAmount(Product product, int amount) {
        for (int i = 0; i < productList.size(); i++) {
            Product p = productList.get(i);
            if (p.getId() == product.getId()) { // 找到对应的商品
                if (amount <= 0) {
                    productList.remove(i); // 数量小于等于0则删除商品
                } else {
                    p.setAmount(amount); // 设置商品数量
                }
                break;
            }
        }
    }

    // 计算购物车中商品的总价
    public double getTotalPrice() {
        double totalPrice = 0;
        for (Product p : productList) {
            totalPrice += p.getPrice() * p.getAmount();
        }
        return totalPrice;
    }

    public List<Product> getProductList() {
        return productList;
    }

    public void setProductList(List<Product> productList) {
        this.productList = productList;
    }
}
  1. 创建测试类
import java.util.List;

public class Main {
    public static void main(String[] args) {
        // 创建购物车对象
        ShoppingCart cart = new ShoppingCart();

        // 创建商品对象
        Product p1 = new Product(1, "商品1", 10);
        Product p2 = new Product(2, "商品2", 20);
        Product p3 = new Product(3, "商品3", 30);

        // 添加商品到购物车
        cart.addProduct(p1);
        cart.addProduct(p2);
        cart.addProduct(p3);

        // 输出购物车中的商品
        List<Product> productList = cart.getProductList();
        for (Product p : productList) {
            System.out.println(p.getId() + " " + p.getName() + " " + p.getPrice() + " " + p.getAmount());
        }

        // 修改购物车中商品数量
        cart.updateProductAmount(p2, 2);

        // 输出购物车中的商品
        for (Product p : productList) {
            System.out.println(p.getId() + " " + p.getName() + " " + p.getPrice() + " " + p.getAmount());
        }

        // 删除购物车中的商品
        cart.removeProduct(p1);

        // 输出购物车中的商品
        for (Product p : productList) {
            System.out.println(p.getId() + " " + p.getName() + " " + p.getPrice() + " " + p.getAmount());
        }

        // 计算购物车中商品的总价
        double totalPrice = cart.getTotalPrice();
        System.out.println("购物车中的商品总价为:" + totalPrice);
    }
}

示例说明

示例一

添加商品到购物车

// 创建购物车对象
ShoppingCart cart = new ShoppingCart();

// 创建商品对象
Product p1 = new Product(1, "商品1", 10);
Product p2 = new Product(2, "商品2", 20);
Product p3 = new Product(3, "商品3", 30);

// 添加商品到购物车
cart.addProduct(p1);
cart.addProduct(p2);
cart.addProduct(p3);

示例二

修改购物车中商品数量

// 修改购物车中商品数量
cart.updateProductAmount(p2, 2);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java编写网上超市购物结算功能程序 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • java设计模式-组合模式详解

    Java设计模式-组合模式详解 什么是组合模式? 组合模式属于结构型设计模式,它将对象组合成树形结构,以表示’部分-整体’的层次关系。组合模式使得用户对单个对象和组合对象的使用具有一致性,通常适用于处理树形结构,或者希望将单个对象和组合对象以相同的方式进行处理。 组合模式主要包含以下两种角色: Component(抽象构件):定义了叶子和容器构件的公用接口,…

    Java 2023年5月26日
    00
  • python实现数独算法实例

    python实现数独算法实例 介绍 数独是一种流行的逻辑游戏,也是计算机科学中常见的算法和数据结构问题。本文将介绍基于python实现数独算法的完整攻略。 算法原理 数独算法的原理可以归纳为两部分: 约束传播(Constraint Propagation)——基于已知的数推断未知的数; 回溯(Backtracking)——在没有更多的约束传播时,回溯到之前的…

    Java 2023年5月30日
    00
  • Java中实现文件预览的功能(实例代码)

    让我来为你详细讲解一下 “Java 中实现文件预览的功能(实例代码)” 的完整攻略。 1. 确定需求 在开始编写代码之前,我们需要先确定需求,明确要实现的功能和效果。在本例中,我们的需求是实现文件预览的功能,具体来说,就是能够在浏览器中打开并预览常见的文本、图片、PDF 等格式的文件。 2. 选择技术方案 实现文件预览的技术方案有很多,常见的包括使用第三方工…

    Java 2023年6月15日
    00
  • Java操作redis设置第二天凌晨过期的解决方案

    下面就是Java操作redis设置第二天凌晨过期的解决方案的完整攻略。 准备工作 首先需要引入redis的Java客户端库,如Jedis,Lettuce等,具体可参考官方文档进行引入。 方案一:设置过期时间为当天凌晨 我们可以通过计算当前时间距离当天凌晨的秒数,将该秒数加上一天86400秒作为过期时间,在Redis中进行设置。 示例代码如下: // Jedi…

    Java 2023年5月20日
    00
  • java 判断两个时间段是否重叠的案例

    如何判断两个时间段是否重叠是一个经常遇到的问题。Java提供了多种方式来实现该功能,本篇文章将为大家介绍其中比较常用的两种方案。 方案一:使用Date类和if语句 将两个时间段的起始时间和结束时间分别用Date类表示,并存储在变量中。在Java中,可以使用SimpleDateFormat类将字符串转换为日期类型。 SimpleDateFormat forma…

    Java 2023年5月20日
    00
  • Tomcat配置https SSL证书的项目实践

    Tomcat配置https SSL证书的项目实践 在Web应用程序中添加SSL证书是提高安全性的一种重要方法。Tomcat是一个流行的Java Web服务器,它可以通过配置https SSL证书来提供安全的访问。 什么是SSL证书? SSL(Secure Socket Layer)证书是一种用于保护Web通信的数字证书。它通过加密网站和用户之间的数据传输来确…

    Java 2023年6月2日
    00
  • springboot项目打包成jar包的图文教程

    下面是关于“springboot项目打包成jar包的图文教程”的详细攻略。 准备工作 确保你已经安装了jdk,可以通过以下命令来检查jdk的版本: java -version 安装maven,可以通过以下命令来检查maven的版本: mvn -v 确保你已经使用springboot来搭建了一个项目,并且该项目可以通过以下命令来启动: mvn spring-b…

    Java 2023年5月19日
    00
  • Java Spring项目国际化(i18n)详细方法与实例

    让我们来详细讲解一下“Java Spring项目国际化(i18n)详细方法与实例”的完整攻略。 什么是国际化(i18n) 国际化(i18n)指的是将程序中的可变文本提取出来,以便能够在不同的地区和语言中进行翻译。国际化是软件开发中非常重要的一环,它可以帮助你更好的定位产品,并更好的满足用户的需求。Java Spring作为一个web框架,提供了一些方便易用的…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部