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计算两个日期相差的实例”的完整攻略。 准备工作 首先,我们需要引入Java内置的日期类——java.util.Date和java.text.SimpleDateFormat,其中SimpleDateFormat类可以用于日期的格式化操作。 import java.util.Date; import java.text.Simple…

    Java 2023年5月20日
    00
  • Java对象深复制与浅复制实例详解

    Java对象深复制与浅复制实例详解 在 Java 中,对象的复制分为浅复制和深复制两种方式。本文将详细讲解 Java 中对象复制的概念、浅复制和深复制的实现方式、以及深浅复制的应用场景。 对象复制的概念 在 Java 中,我们可以通过 new 运算符来生成新的对象实例,但是有时候我们需要创建一个新对象,它的属性和原对象一模一样而且它们内存地址不同,这个时候就…

    Java 2023年5月26日
    00
  • SpringMVC的工程搭建步骤实现

    以下是关于“SpringMVC的工程搭建步骤实现”的完整攻略,其中包含两个示例。 SpringMVC的工程搭建步骤实现 SpringMVC是一种基于Java的Web框架,它可以帮助我们快速开发Web应用程序。在本文中,我们将讲解如何搭建一个SpringMVC工程。 步骤一:创建Maven项目 打开IntJ IDEA,选择“Create New Project…

    Java 2023年5月17日
    00
  • 利用jsp+Extjs实现动态显示文件上传进度

    利用jsp+Extjs实现动态显示文件上传进度的完整攻略主要有以下几步: 1、前端页面 前端页面需要使用Extjs实现。首先需要在页面中引入相应的js文件,例如: <script src="ext-all.js"></script> <script src="ext-lang-zh_CN.js&qu…

    Java 2023年6月15日
    00
  • 关于微信小程序实现云支付那些事儿

    下面我来详细讲解“关于微信小程序实现云支付那些事儿”的完整攻略。 1. 前置准备 要实现微信小程序的云支付,你需要确保已经完成以下前置准备: 注册了微信商户账号,并通过微信支付的认证审核; 在小程序中开通了支付权限。 如果以上准备工作已完成,接下来就可以开始和云服务对接了。 2. 云开发 微信小程序提供了一套完善的云开发体系,其中包含了云函数和数据库。我们可…

    Java 2023年5月23日
    00
  • Java多线程编程之ThreadLocal线程范围内的共享变量

    下面是详细讲解Java多线程编程之ThreadLocal线程范围内的共享变量的攻略。 简介 在多线程编程当中,线程间的数据共享和数据保护是非常重要的。ThreadLocal就是一种解决多线程数据共享和数据保护的技术,它能够实现线程间数据的隔离,使得不同线程之间访问自己保存的变量,就好像在每个线程里面都有一个私有的变量一样。 简单地说,ThreadLocal是…

    Java 2023年5月19日
    00
  • java实现简单的客户信息管理系统

    针对这个问题,我可以给出如下完整攻略: 1. 确定功能需求 作为一款客户信息管理系统,需要具备以下基本功能: 添加客户信息 修改客户信息 删除客户信息 查询客户信息 在确定了功能需求之后,就要开始考虑如何实现了。 2. 设计数据库表结构 由于需要操作客户信息,我们需要设计数据库表来承载客户信息。以下是一个简单的示例表结构: CREATE TABLE cust…

    Java 2023年5月19日
    00
  • Spring七大组件是哪些以及作用

    Spring是一个流行的Java应用程序框架,它提供了一组可重用的组件来构建企业级应用程序。这些组件通常被称为Spring七大组件,这些组件包括: Spring核心容器:它是Spring框架的基础,提供了依赖注入(DI)和控制反转(IoC)功能。它甚至可以使应用程序更容易与不同的数据源集成。 Spring AOP:面向切面编程(AOP)是Spring框架的另…

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