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

我有麻烦弄清楚如何处理我收到的错误这是我的购物车项目

诸葛亮
2023-03-14

在本练习中,您将完成一个将购物车实现为项目数组的类。文件项。java包含名为Item的类的定义,该类对人们将购买的商品进行建模。项目有名称、价格和数量(购买的数量)。文件购物车。java将购物车实现为一个项目对象数组。

>

编写一个模拟购物的程序。该程序应该有一个循环,只要用户想购物就可以继续。每次通过循环读取用户想要添加到购物车的商品的名称、价格和数量。将项目添加到购物车后,应打印购物车内容。循环后打印“请付款…”包含购物车中商品总价的消息。

package Shopping;

import java.text.NumberFormat;

public class Item
{
    private String name;
    private double price;
    private int quantity;
    // ----------------------------------------------------- --
    // Create a new item with the given attributes.
    // ----------------------------------------------------- --
    public Item (String itemName, double itemPrice, int numPurchased)
    {
        name = itemName;
        price = itemPrice;
        quantity = numPurchased;
    }
    // ----------------------------------------------------- --
    // Return a string with the information about the item
    // ----------------------------------------------------- --
    public String toString ()
    {
        NumberFormat fmt = NumberFormat.getCurrencyInstance();
        return (name + "\t" + fmt.format(price) + "\t" + quantity + "\t"
                + fmt.format(price*quantity));
    }
    // -----------------------------------------------
    // Returns the unit price of the item
    // -----------------------------------------------

    public double getPrice()
    {
        return price;
    }
    // -----------------------------------------------
    // Returns the name of the item
    // -----------------------------------------------
    public String getName()
    {
        return name;
    }
    // -----------------------------------------------
    // Returns the quantity of the item
    // -----------------------------------------------
    public int getQuantity()
    {
        return quantity;
    }
}



package Shopping;

import Shopping.Item;

import java.text.NumberFormat;

public class ShoppingCart
{
    private int itemCount; // total number of items in the cart
    private double totalPrice; // total price of items in the cart
    private int capacity; // current cart capacity
    Item[] cart; // declare an instance variable cart for an array of Item


    // ---------------------------------------------------------
    // Creates an empty shopping cart with a capacity of 5 items.
    // ---------------------------------------------------------

    public ShoppingCart()
    {
        capacity = 5;
        itemCount = 0;
        totalPrice = 0.0;
        cart = new Item[capacity];

    }

    // -----------------------------------------------------
    // Adds an item to the shopping cart.
    // -----------------------------------------------------
    public void addToCart(String itemName, double price, int quantity)
    {
        if (itemCount > 5)
        {
            System.out.println("Now the shopping cart is full.");
        }
        else
        {
            addToCart(itemName, price, quantity);
            totalPrice = totalPrice + (price *  quantity);
        }
        itemCount = itemCount+1;
    }


    // -----------------------------------------------------
    // Returns the contents of the cart together with
    // summary information.
    // -----------------------------------------------------

    public String toString()
    {
        NumberFormat fmt = NumberFormat.getCurrencyInstance();
        String contents = "\nShopping Cart\n";
        contents += "\nItem\t\tUnit Price\tQuantity\tTotal\n";
        for (int i = 0; i < itemCount; i++)
            contents += cart[i].toString() + "\n";
        contents += "\nTotal Price: " + fmt.format(totalPrice);
        contents += "\n";
        return contents;
    }
    // -----------------------------------------------------
    // Increases the capacity of the shopping cart by 3
    // -----------------------------------------------------
    private void increaseSize()
    {
        capacity = capacity + 3;
    }
}

线程“main”java中出现异常。郎在购物。购物车。addToCart(ShoppingCart.java:39)是我一直收到的错误

共有1个答案

范京
2023-03-14

在同一个方法中,您在“else”语句中不断调用addToCart()方法,但它什么也没做(只是不断调用同一个代码块,然后以堆栈溢出错误终止)。我很确定您是想将创建的项目添加到数组中:

else {
    cart[itemCount] = new Item(itemName, price, quantity);
    totalPrice += (price *  quantity);
    itemCount++; // Same thing as itemCount = itemCount + 1
}

您还需要修改addToCart()中的“if”条件,因为现在它试图将项目放置在数组槽中,但数组索引停止在容量-1。要修复它:

if(itemCount > capacity - 1){
 类似资料:
  • 问题内容: 试图获得公司名单,但这给了我一个错误。 例外: 我的文件包含: 当我要添加新的工作订单时,select中应该有可用的公司列表。 更新: 这是我的方法 : 问题答案: JSP包含操作返回的选择标记。添加订单时,它应该具有绑定到bean属性的属性。它应该是值堆栈中的一个对象。 在大多数情况下,最好在操作类中初始化该属性,以更好地实现必须编写方法和初始化列表的位置。 因为标签的属性不能为引发

  • TCPServer.bind_sockets()会返回一个socket对象的列表,列表中的socket都是用来监听客户端连接的。 列表由TCPServer.add_sockets()处理。在这个函数里我们就会看到IOLoop相关的东西。 def add_sockets(self, sockets): if self.io_loop is None: self.io_loo

  • 问题内容: 当我创建/调试docker映像/容器docker时,似乎在我的系统上留下了各种工件。(有一点限制为48张图像),但是我上次查看的图像为20-25张;。 因此,首要问题是: 如何正确清理? 当我手动删除图像时,更多的图像开始出现。嗯? 我应该为主机真正分配多少磁盘空间? 下次重启后,正在运行的守护程序会真正重启吗? 以及meta问题…我没有问过什么问题? 问题答案: 删除“晃来晃去”的图

  • 我想在我的Mac(OS X 10.10.3)中安装git。我写:brew install git 但它报告说: 更让我困惑的是,在我的finder:/usr/local/中,“include”和“lib”应该是文件夹,但却变成了文件。我怎样才能解决错误“找不到OTool”和安装git与brew和 为什么我的库和包含文件夹变成文件?...谢谢你的帮助!

  • 我有一个测试类,这个错误让我抓狂: org.springframework.beans.factory.unsatisfieddependencyexception:创建名称为bean时出错。imprimirrelatorio:通过字段存储库表示的不满足依赖项;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:

  • unsatisfiedDependencyException:创建文件[D:\priya\cre-audit-service\target\类\com\ads\cre\api\controller\fieldValuesController.class]中定义的名为“field valuesController”的bean时出错:通过构造函数参数1表示的不满足的依赖项;嵌套异常为org.sprin