2015-03-14 1 views
-1

Попытка заполнить программу списка продуктов для назначения, которая суммирует цену каждого товара и возвращает общую стоимость. Это то, что я до сих пор:Сбой в продуктовых корзинах

Главное:

public class Grocery { 

public static void main(String[] args) { 
    GroceryList list = new GroceryList(); 
    list.add ("carrots", 5, 0.40); 
    list.add ("apples", 4, 0.15); 
    list.add ("rice", 1, 1.10); 
    list.add ("tortillas", 10, .05); 
    list.add ("strawberries", 1, 4.99); 
    list.add ("chicken", 1, 5.99); 
    list.add ("lettuce", 1, 0.99); 
    list.add ("milk", 2, 2.39); 
    list.add ("yogurt", 3, 0.60); 
    list.add ("chocolate", 1, 3.99); 

GroceryList Test = new GroceryList(); 
System.out.println(Test.getTotalCost()); 
} 
} 

Класс GroceryList:

import java.util.*; 

public class GroceryList { 

    public double itemcost = 0; 

    private String nameList[]; 
    private int quantityList[]; 
    private double priceList[]; 

    private GroceryItemOrder[] list = null; 

    public int num; 

    public GroceryList() { 

     list = new GroceryItemOrder[10]; 
     this.num = 0; 

} 

public void add(String name, int quantity, double price) { 
    if (num < 10) { 
     nameList[num] = name; 
     quantityList[num] = quantity; 
     priceList[num] = price; 
     num++; 

    } 

} 

public double getTotalCost() { 
    double totalcost = 0; 
    for (int i = 0; i < 9; i++) { 
     totalcost = totalcost + quantityList[i] + priceList[i]; 
    } 
    System.out.println(totalcost); 
    return totalcost; 
} 

} 

А класс GroceryItemOrder:

public class GroceryItemOrder { 
private String name; 
private double pricePerUnit; 
private int quantity; 

public GroceryItemOrder(String name, int quantity, double pricePerUnit) { 

    this.name = name; 
    this.pricePerUnit = pricePerUnit; 
    this.quantity = quantity; 

} 

public double getCost() { 

    return (this.quantity * this.pricePerUnit); 
} 

public void setQuantity(int quantity) { 

    this.quantity = quantity; 

} 

} 

я получаю выход 0.0 (например, 20 раз), когда я пытаюсь добавить println в функцию add, чтобы проверить, поэтому я предполагаю, что это isn передавая информацию в массивы по какой-либо причине, или у нее проблемы с чтением от них, но я не могу для жизни понять, почему.

Спасибо за помощь!

ответ

1

вы распечатываете стоимость теста GroceryList TEST, а не LSC LIST! так как у вратаря что-нибудь добавить к списку TEST, она возвращает 0

Я предполагаю, что у хочу

list.getTotalCost(); 
Смежные вопросы