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日

相关文章

  • 详解JavaEE使用过滤器实现登录(用户自动登录 安全登录 取消自动登录黑用户禁止登录)

    详解JavaEE使用过滤器实现登录 什么是过滤器 在网络开发中,过滤器是一种能够截取并处理请求和响应的功能组件。过滤器可以修改请求,修改响应内容并可以过滤/拦截请求和响应。使用过滤器可以在不影响原来的请求和响应方式的情况下增加一些自定义的操作,使得整个系统的设计更加灵活。 怎样使用过滤器实现登录 1. 过滤器的实现 过滤器需要实现Filter接口,接口中有三…

    Java 2023年6月15日
    00
  • JSP教程(三)–JSP中”预定义变量”的使用

    接下来我将为你讲解“JSP教程(三)–JSP中预定义变量”的使用的完整攻略。 什么是JSP中的预定义变量? 在JSP页面中,有一些变量不需要我们定义就可以直接使用,这些变量就被称作“预定义变量”,也叫“内置对象”。在JSP中,有9个预定义变量,分别是: request:HttpServletRequest类型,代表客户端发出的请求。 response:Ht…

    Java 2023年6月15日
    00
  • java小知识之查询数据库数据的元信息

    Java小知识之查询数据库数据的元信息 在Java应用程序中,查询数据库数据的元信息是一项非常重要的任务。查询数据库数据的元信息可以帮助我们了解数据表和数据列的信息,包括数据类型、限制等等。对于软件开发人员来说,深入了解数据库数据的元信息可以帮助我们进行更好的数据库设计和管理。 下面是查询数据库数据的元信息的示例代码: 示例代码1:查询数据库表的元信息 im…

    Java 2023年5月20日
    00
  • Java语言实现简单的酒店前台管理小功能(实例代码)

    Java语言实现简单的酒店前台管理小功能(实例代码) 1.概述 本文将介绍如何使用Java语言实现简单的酒店前台管理小功能。本文使用的开发工具是Eclipse,Java版本是Java 8。 2.实现细节 2.1.功能需求 本文中实现的酒店前台管理小功能包含以下需求: 客户入住:记录客户姓名、身份证号、入住时间、退房时间、房间号等信息,并将信息保存到文件中。 …

    Java 2023年5月18日
    00
  • Java中BigDecimal的加减乘除、比较大小与使用注意事项

    Java中BigDecimal的加减乘除、比较大小与使用注意事项 简介 在Java中,double和float等浮点数类型存在精度问题,会出现计算结果不准确的情况。而BigDecimal是一种高精度的数据类型,它可以解决浮点数计算精度问题。BigDecimal的精度可以达到需要表示的精确度,且不会出现计算误差。因此,在需要高精度计算的场合下,我们通常会使用B…

    Java 2023年5月26日
    00
  • java中的Struts2拦截器详解

    下面是“Java中的Struts2拦截器详解”的完整攻略: 什么是Struts2拦截器 Struts2拦截器(Interceptor)是一种在Struts2应用程序中提供预处理和后处理逻辑的组件。拦截器可以在Action执行之前、Action执行之后和Result返回给客户端之前执行额外的逻辑,通过这些拦截器可以很方便地实现一些通用的功能,例如安全性、日志、…

    Java 2023年5月20日
    00
  • 脚本发生错误怎么解决 当前页的脚本发生错误的解决方法小结

    脚本发生错误怎么解决 当网站出现脚本发生错误时,可能导致页面无法正常运行,给用户造成极大的困扰,因此我们需要及时修复这些问题,以确保用户的良好体验。本文将为大家介绍如何解决脚本发生错误的问题。 1. 查看错误提示 当脚本发生错误时,浏览器会给出相关的错误提示信息,我们可以根据提示信息快速定位问题所在。常见的错误提示信息包括:语法错误、未定义变量、函数调用错误…

    Java 2023年5月23日
    00
  • 一小时迅速入门Mybatis之增删查改篇

    一小时迅速入门Mybatis之增删查改篇 Mybatis是一款优秀的ORM框架,其简单易用,功能强大,得到了广大开发者的喜爱。本文将为大家介绍使用Mybatis进行增删查改的完整攻略。 1. 环境准备 Mybatis需要依赖JDBC驱动和数据库连接池,建议使用Maven进行管理。这里我们以MySQL为例,展示如何配置环境。 首先在pom.xml文件中添加以下…

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