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中Filter过滤器处理中文乱码的方法

    下面是Java中Filter过滤器处理中文乱码的完整攻略: 问题描述 在使用Java Web开发中,常常遇到中文乱码的问题,特别是在做表单提交时,输入的中文字符会出现乱码的情况,这主要是由于浏览器和服务器之间字符编码不一致导致的。 解决方案 Java提供了过滤器(Filter)的机制,可以对HTTP请求进行过滤和处理。在过滤器中,我们可以对请求做一些前置处理…

    Java 2023年5月20日
    00
  • 一文了解Java中record和lombok的使用对比

    一文了解Java中record和lombok的使用对比 record 和 Lombok 都是 Java 中提高开发效率的工具。它们的相似点是都可以通过简化代码的方式减少 Java 的样板代码。但它们基于的思想有所不同,record 是 Java 语言的一部分,而 Lombok 是一个库。在这篇文章中,我们将探讨这两种工具的不同之处和适用情况。 Record …

    Java 2023年5月26日
    00
  • 消息中间件ActiveMQ的简单入门介绍与使用

    消息中间件ActiveMQ的简单入门介绍与使用 什么是ActiveMQ ActiveMQ是一款开源的消息中间件,它采用Java编写,完全支持JMS规范,是Apache软件基金会的顶级项目之一。ActiveMQ可以通过网络将不同应用程序之间异构的数据进行传输,是一种比较通用的解决方案。 ActiveMQ的基本概念 在了解如何使用ActiveMQ之前,有几个基本…

    Java 2023年5月20日
    00
  • 多个jsp页面共享一个js对象的超级方法

    要实现多个JSP页面共享一个JS对象的超级方法,可以使用以下步骤: 在JSP页面中引入公共的JS文件。 <script src="common.js"></script> 定义公共的JS对象,可以将它定义为全局变量。 var commonObj = { name: "Tom", age: 18,…

    Java 2023年6月15日
    00
  • Java设计模式之java原型模式详解

    Java设计模式之Java原型模式详解 原型模式是一种创建型设计模式,其基本思想是利用已有的原型对象来创建新的对象实例,而不是通过昂贵的创建过程来创建对象。这种模式涉及到实现一个原型接口,该接口用于创建当前对象的克隆。 实现原型模式 实现原型模式需要以下几个步骤: 定义一个原型接口,该接口至少要定义一个克隆方法。 实现原型接口的具体原型类,该类实现原型接口中…

    Java 2023年5月26日
    00
  • 通过Ajax两种方式讲解Struts2接收数组表单的方法

    接下来我将详细讲解通过Ajax两种方式讲解Struts2接收数组表单的方法的完整攻略。 前置知识 在开始之前,需要对以下几个知识点有所了解: Struts2框架:Struts2是一个基于MVC设计模式的Web框架,用于开发JavaEE应用程序。 Ajax:Ajax是一种基于JavaScript和XML技术的Web开发技术,用于在Web页面上实现异步数据交互。…

    Java 2023年5月26日
    00
  • Java连接mysql数据库并进行内容查询的方法

    当你需要使用Java语言连接MySQL数据库并进行内容查询的时候,需要遵循以下几个步骤: 导入相关的Java包和MySQL驱动程序。可以通过在代码中使用import语句导入相关的Java包,如java.sql.*,同时也需要将MySQL驱动程序导入项目中。可以将MySQL驱动程序放在项目的lib目录下,在项目的构建路径中加入该库。 建立与MySQL数据库的连…

    Java 2023年5月20日
    00
  • JSP + ajax实现输入框自动补全功能 实例代码

    下面是详细的攻略: 1. 需求分析 我们需要实现一个输入框自动补全的功能,即当用户在输入框中输入文字时,能够实时推荐可能的匹配结果。因此,我们需要使用ajax技术,实现在输入框输入字符时动态加载匹配的数据。 2. 技术栈 JSP:Java服务器页面,用于生成动态网页; ajax:用于异步加载数据,对局部网页内容进行更新; 3. 实现步骤 3.1 创建JSP页…

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