因此,我需要获取索引的itemPrice部分并将其全部添加在一起,但是我不确定如何去访问它。我可以以某种方式使用GroceryItemOrder类中的getCost方法并将其连续添加到GroceryList类中的totalCost中,还是需要访问每个存储对象的itemPrice和数量部分。

public class GroceryList {

    public GroceryItemOrder[] groceryList = new GroceryItemOrder[0];
    public int manyItems;


    public GroceryList() {
        final int  INITIAL_CAPACITY = 10;
        groceryList = new GroceryItemOrder[INITIAL_CAPACITY];
        manyItems = 0;
    }

    //Constructs a new empty grocery list array
    public GroceryList(int numItem) {
        if (numItem < 0)
            throw new IllegalArgumentException
                    ("The amount of items you wanted to add your grocery list is negative: " + numItem);
        groceryList = new GroceryItemOrder[numItem];
        manyItems = 0;
    }

    public void add(GroceryItemOrder item) {
        if (manyItems <= 10) {
            groceryList[manyItems] = item;
        }
        manyItems++;
    }

    //
    // @return the total sum list of all grocery items in the list
    public double getTotalCost() {
        double totalCost = 0;
        for (int i = 0; i < groceryList.length; i++ ) {
            //THIS PART
        }
        return totalCost;
    }

}


这是GroceryItemOrder

public class GroceryItemOrder {
    public String itemName;
    public int itemQuantity;
    public double itemPrice;

    public GroceryItemOrder(String name, int quantity, double pricePerUnit) {
        itemName = name;
        itemQuantity = quantity;
        itemPrice = pricePerUnit;
    }

    public double getcost() {
        return (itemPrice*itemQuantity);
    }

    public void setQuantity(int quantity) {
        itemQuantity = quantity;
    }

    public String toString() {
        return (itemName + " " + itemQuantity);
    }

}


感谢所有的答复!我知道它正在工作,并且了解现在正在发生什么。

最佳答案

您首先需要访问数组中GroceryItemOrder的实例,然后从那里访问其itemPrice字段,如下所示:

groceryList[0].itemPrice


将为您提供杂货清单数组中第一个杂货清单订单的itemPrice。如果您想使用一种方法来执行此操作,请在getItemPrice类中添加一个groceryListOrder方法,

public getItemPrice() {
    return itemPrice;
}


然后,您可以像这样访问数组中每个杂货列表订单的itemPrice,

groceryList[0].getItemPrice()


groceryList[0].itemPrice相同。如果要获取groceryList数组中所有对象的总成本,请使用循环将所有itemPrice字段乘以itemQuantity字段(因为这是每个对象的总成本之和),乘以使用您的getcost方法,

double totalCost = 0;
for (int i = 0; i < groceryList.length; i++) {
    totalCost += groceryList[i].getcost();
}

09-27 21:21