Мне нужно написать программу, которая использует два класса для создания списка продуктов. Первый класс создает массив для хранения значений, полученных из второго класса. В массиве хранятся элементы бакалеи, которые имеют имя, количество и цену. У меня есть функция, которая должна получить общую стоимость всего в массиве, но по какой-то причине функция только добавляет последний элемент, который добавляется к массиву самому себе. Вот мой код:Не удалось добавить элементы из массива
public class GroceryList {
private GroceryItemOrder[] groceryList = new GroceryItemOrder[0];
private int numofEntries;
public GroceryList()
{
this.groceryList = new GroceryItemOrder[10];
this.numofEntries = 0;
}
public void add(GroceryItemOrder item)
{
if(numofEntries == 10)
{
System.out.println("The list is full.");
}
else
{
groceryList[numofEntries] = item;
numofEntries++;
}
}
public double getTotalCost()
{
double totalCost = 0;
double newCost = 0;
for(int size = 0; size < numofEntries; size ++)
{
newCost = groceryList[size].getCost();
totalCost = newCost + totalCost;
}
return totalCost;
}
public class GroceryItemOrder {
private static double pricePerUnit;
private static int quantity;
private String name;
public GroceryItemOrder(String name, int quantity, double pricePerUnit)
{
this.name = name;
this.quantity = quantity;
this.pricePerUnit = pricePerUnit;
}
public static double getCost()
{
return (quantity * pricePerUnit);
}
public void setQuantity(int quantity)
{
this.quantity = quantity;
}
public static void main(String[] args)
{
GroceryList newList = new GroceryList();
newList.add(new GroceryItemOrder("cookies", 1, 1.50));
newList.add(new GroceryItemOrder("cheese", 2, 1.0));
newList.add(new GroceryItemOrder("bread", 1, 5.0));
System.out.println(newList.getTotalCost());
}
}
В функции я пытался использовать цикл, который будет запускать через массив из одного элемента в то время, и принимать любые значения были сохранены в элемент и сохранить его в новый объект. Я чувствую, что я направляюсь в правильном направлении, но не могу понять, где проблема с функцией. Может ли кто-нибудь увидеть, где моя проблема, или, по крайней мере, дать мне несколько советов о том, как я могу попытаться исправить проблему?
Спасибо! Изменяя те из статики и функции getCost() из статической фиксированной моей проблемы. – Christina