当前位置: 首页 > 知识库问答 >
问题:

计算购物车中的商品数量

孟修竹
2023-03-14

我对Java的概念很陌生。我使用核心java设计了一个购物车应用程序。但我无法获得所需的输出。这是我的pojo课程项目。Java语言

package com.shop.data.*;
public class Item
{
    private int Itemid;
    private String category;
    private String name;
    private double price;
      private String size;

    /**
     * @return the category
     */
    public String getCategory() {
        return category;
    }
    public Item(int itemid) {
        super();
        Itemid = itemid;
    }
    /**
     * @param category the category to set
     */
    public void setCategory(String category) {
        this.category = category;
    }

    // -------------------------------------------------------
    //  Create a new item with the given attributes.
    // -------------------------------------------------------
    public Item (String itemcategory ,String itemName, double itemPrice,String itemSize)
    {
        name = itemName;
        price = itemPrice;

        size = itemSize;
        category = itemcategory;
    }
    public Item(String itemName, int itemPrice, String size) {
        // TODO Auto-generated constructor stub
    }
    /**
     * @return the size
     */
    public String getSize() {
        return size;
    }
    /**
     * @param size the size to set
     */
    public void setSize(String size) {
        this.size = size;
    }

    // -------------------------------------------------
    //   Returns the unit price of the item
    // -------------------------------------------------
    public double getPrice()
    {
        return price;
    }
    // -------------------------------------------------
    //   Returns the name of the item
    // -------------------------------------------------
    public String getName()
    {
        return name;
    }
    /**
     * @return the itemid
     */
    public int getItemid() {
        return Itemid;
    }
    /**
     * @param itemid the itemid to set
     */
    public void setItemid(int itemid) {
        Itemid = itemid;
    }
    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }
    /**
     * @param price the price to set
     */
    public void setPrice(double price) {
        this.price = price;
    }
    public String toString ()
    {

        return (name + "\t" + price +  "\t"+ size +  "\t");
    }


}

主要课程是ShopCartTest。Java语言

package com.shop.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

import com.shop.data.*;

public class ShoppingCartTest {
    private static Scanner scan;

    public static void main(String[] args) {
        // *** declare and instantiate a variable cart to be an empty ArrayList
        shopping();
    }

    public static void shopping() {
        ArrayList<Item> ItemCart = new ArrayList<Item>();
        Map<Item, Integer> Quantity = new HashMap<Item, Integer>();
        Item item = null;
        Inventory inventory = null;
        String category = null;
        String itemName;
        String itemSize;
        double itemPrice = 0;
        double totalPrice = 0.0;
        double sum = 0.0;
        int itemquantity;
        scan = new Scanner(System.in);
        String keepShopping = "y";
        System.out.println("****Shopping Cart****");
        do {
            System.out.println("Select Category: ");
            category = scan.nextLine();
            if (category.equals("men") || category.equals("Men")) {

                System.out
                        .println("Available Items: \n1Shirt : 900 \n2.T-Shirt : 700 \n3.Jean: 1500.\n");
                System.out.println("Select Item to Add to your Bag: ");
                itemName = scan.nextLine();
                if (itemName.equals("Shirt") || (itemName.equals("shirt"))) {
                    itemPrice = 900;
                } else if (itemName.equals("T-Shirt")
                        || (itemName.equals("t-shirt"))) {
                    itemPrice = 700;
                } else
                    itemPrice = 1500;
            } else {
                System.out
                        .println("Available Items: \n1.Dress : 250 \n2.Top : 350 \n3.Jean: 1500.\n");
                System.out.println("Select Item to Add to your Bag: ");
                itemName = scan.nextLine();
                // *** create a new item and add it to the cart
                if (itemName.equals("Dress") || (itemName.equals("dress"))) {
                    itemPrice = 250;
                } else if (itemName.equals("Top") || (itemName.equals("top"))) {
                    itemPrice = 350;
                } else
                    itemPrice = 1500;
            }
            System.out.print("Available Sizes \nS \tM \tL: ");
            itemSize = scan.nextLine();
            System.out.print("Enter the quantity: ");
            itemquantity = scan.nextInt();
            item = new Item(category, itemName, itemPrice, itemSize);
            ItemCart.add(item);
            Quantity.put(item, itemquantity); 

            // *** print the contents of the cart object using println
            for (int i = 0; i < ItemCart.size(); i++) {
                Item itm = ItemCart.get(i);
                System.out.println(itm);
            }

            // Print out the results
            System.out.print("Continue shopping (y/n)? ");
            scan.nextLine();
            keepShopping = scan.nextLine();
        } while (keepShopping.equals("y"));

        for (int i = 0; i < ItemCart.size(); i++) {
            Quantity.put(item, itemquantity);
            Item itm = ItemCart.get(i);
            System.out.println(itm);
            totalPrice = itemquantity * itm.getPrice();
            for (int j = 0; i < ItemCart.size(); i++)
                sum += totalPrice;

        }

        System.out.println("The total price is: " + sum);
        System.out.println("Do you wan to proceed to checkout (y/n): ");
        if (scan.nextLine().equals("y")) {
            System.out.println("Thank you for shopping with us!");

        } else {
            shopping();
        }

    }

}

有4个pojo的购物车,库存,项目,用户。用户必须能够选择多个数量的多个项目。(对于项目,将创建一个列表,对于数量:映射。其中项目对象是键,数量是值)。用户选择类别、项目,然后选择数量。然后他可以继续结帐。所以当他决定结帐时。他必须能够看到购买的各种物品(itemName、SIxe、单价、单价*数量),最后是总价。我如何做到这一点?我有点迷路了!

共有1个答案

范兴文
2023-03-14

一些提示:

  • 您应该使用适当的命名约定(即变量和方法名称以小写字母开头)
  • ItemCart是多余的,您可以将其删除并使用数量键
  • 地图提供了一种入口集方法,在数量上使用该方法将帮助您列出购物车中的项目(键),并使用项目(键)价格和数量(值)计算总价

 类似资料:
  • 本文向大家介绍jQuery实现购物车多物品数量的加减+总价计算,包括了jQuery实现购物车多物品数量的加减+总价计算的使用技巧和注意事项,需要的朋友参考一下

  • 我正在创建一个WooCommerce(5.6.0版)网站,用户可以在该网站上购买泡沫产品,并在存档页面上计算价格。基本上,用户输入维度,然后根据公式计算价格。我目前正在努力更新购物车中的价格,我以前没有在这一级别定制产品和价格的经验,因此任何帮助都将不胜感激。。到目前为止,我已经完成了以下步骤: 1.获取(通过Ajax)并在WC_会话中设置自定义产品价格 2.从WC_Session数据更改购物车项

  • 我有一个Android购物应用程序,可以根据库存中产品的可用性来购买产品。最后,我需要扣除购物车上的产品数量,并更新数据库中该商品的数量。问题是,它当前更新了购物车中最后一件商品的数量的数据库值。如何让它更新购物车中商品数量的所有数据库值?。请有人帮帮我。Bellow是执行此操作的类的代码。

  • 问题内容: 我有上面的代码。 如果我在cart_item上运行print_r,我将得到一个多维数组: 我如何只获得product_id? 我试过$ test = 没用 问题答案: 要获取 foreach循环中的每个购物车商品(对于简单产品): 如果是可变产品,请获取 : 或在两种情况下 ( Woocommerce 3+中 的 Object在哪里) : 更新: 循环外使用产品ID 1)打破循环 (仅

  • 本文向大家介绍vue.js购物车添加商品组件的方法,包括了vue.js购物车添加商品组件的方法的使用技巧和注意事项,需要的朋友参考一下 现实向购物车添加商品组件 代码 对象中添加新的属性,如果更新此属性的值,是不会更新视图的 解决方法:使用$set可以触发更新视图,这样当count发生变化的时候,$set去触发更新视图 addCart(ele){ 总结 以上所述是小编给大家介绍的vue.js购物车

  • 本文向大家介绍Android实现购物车添加商品特效,包括了Android实现购物车添加商品特效的使用技巧和注意事项,需要的朋友参考一下 一、引言 以前在饿了么上面订餐的时候,曾经看到过这么一个特效,就是将商品加入订单时,会有一个小球呈抛物线状落入购物车中,然后购物车中的数量会改变。具体的效果如下图。 效果很简单,就是一个抛物线的动画,那么我们应该用什么技术来实现呢?想了想,动画层是不个错的选择!下