我想知道为什么这不起作用。我查看了另一篇文章,其中建议了我用于从存储在数组中的对象调用方法的方法,但它似乎不起作用。我应该澄清一下。我指的是 printPurchases
和 totalCost
方法。更具体地说,他们似乎不允许我从索引 i
处的 Purchase
对象调用,而是似乎从 get(i )
部分。它在我的 Eclipse 应用程序中以红色突出显示。
public class Customer {
private String name, address;
double total;
private ArrayList purchases = new ArrayList();
public Customer(String name, String address){
this.address=address;
this.name=name;
}
public void makePurchase(Purchase purchase){
purchases.add(purchase);
}
public String printPurchases(){
for(int i=0; i<purchases.size(); i++){
return **name+"\t"+address+purchases.get(i).toString();**
}
return"";
}
public double totalCost(){
total=0;
for(int i=0; i<purchases.size(); i++){
total = **total+purchases.get(i).getCost();**
}
}
}
最佳答案
您的 return 语句应该在 return
和 ""
之间有一个空格。
public String printPurchases(){
for(int i=0; i<purchases.size(); i++){
return name+"\t"+address+purchases.get(i).toString();
}
return "";
}
public double totalCost()
假设返回一个double
。您没有返回double
。
public double totalCost(){
total=0;
for(int i=0; i<purchases.size(); i++){
total = total+purchases.get(i).getCost();
}
return total;
}
此外,正如评论中所述,指定 ArrayList
要填充的内容,方法是:
private ArrayList<Purchase> = new ArrayList<Purchase>();
关于java - 从存储在数组列表中的对象调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28733073/