java - 找不到类的方法?

标签 java arrays class object methods

我有这个问题:

我必须创建三个类:GroceryList、GroceryItemOrder 和主类 GroceryMain。在我的 GroceryList 类中,弹出此错误:找不到符号 - 方法 add(GroceryItemOrder)。错误位于 GroceryList 类中的 list.add(item) 处。我的类(class)出了什么问题?谢谢。

这是杂货 list :

    import java.util.*;  

public class GroceryList {  
    private GroceryItemOrder[] list;  
    int num;  

    public GroceryList() {  
        list = new GroceryItemOrder[10];  
        this.num = 0;  
    }  

   public void add(GroceryItemOrder item) {  
        list.add(item);  
   }  

    public double getTotalCost() {  
        double totalcost = 0;  
        for(int i = 0; i < list.length; i++){  
        totalcost += getGroceryItemOrder(getCost());  
        }        
        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;  
    }  

}

这是主类:

    public class GroceryMain {  
  public static void main(String[] args) {  
        GroceryList list = new GroceryList();  
        GroceryItemOrder chips = new GroceryItemOrder("chips", 5, 1.25);  
        list.add(chips);  
        GroceryItemOrder apples = new GroceryItemOrder("apples", 4, 0.50);  
        list.add(apples);  
        GroceryItemOrder oranges = new GroceryItemOrder("oranges", 1, 1.00);  
        list.add(oranges);  
        GroceryItemOrder blueberries = new GroceryItemOrder("blueberries", 10, .05);  
        list.add(blueberries);  
        GroceryItemOrder strawberries = new GroceryItemOrder("strawberries", 1, 4.00);  
        list.add(strawberries);  
        GroceryItemOrder cheese = new GroceryItemOrder("cheese", 1, 3.00);  
        list.add(cheese);  
        GroceryItemOrder chocolate = new GroceryItemOrder("chocolate", 1, 1.50);  
        list.add(chocolate);  
        GroceryItemOrder milk = new GroceryItemOrder("milk", 2, 3.00);  
        list.add(milk);  
        GroceryItemOrder yogurt = new GroceryItemOrder("yogurt", 3, 1.00);  
        list.add(yogurt);  
        GroceryItemOrder tacos = new GroceryItemOrder("tacos", 1, 2.50);  
        list.add(tacos);  
    }  
}

最佳答案

方法add不适用于传统数组。它适用于Arraylist

private GroceryItemOrder[] list;  // Standard Arrays

更改为

private ArrayList<GroceryItemOrder> list;  

现在您可以使用 list.add(element) 添加。

关于java - 找不到类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21965286/

相关文章:

java - 摆脱二维 Java 数组中的自动填充零

c++ - 如何在 C++ 中为矩阵类型构建构造函数

JavaScript 子类 - 如何继承参数中定义的父值?

java - 为什么会发生 ClassCastException 然后将 lambda 分配给静态字段?

java - 您可以使用仿函数/函数式编程对 Java 7 中的列表进行分组(并计算每个组的元素数量)吗?

php - "not present"是否有验证规则?

javascript - 在 Javascript 中,为什么我不能绘制对象的多个实例?

c++ - 堆与堆栈内存使用 C++ 用于动态创建的类

java - 如何设置正确的过滤器来请求 Google Analytics 数据

java - 如何从以 latin1 编码的结果集中以 UTF-8 编码字符串