因此,我需要获取索引的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();
}