Java :将 arraylist 中的 2 个元素相乘
Java : multiply 2 elements from an arraylist
如何在程序中输出产品的总成本?我的程序输出始终为 0。
我有一个数组列表,类型是一个名为 Product 的对象;
static ArrayList<Product> productArray = new ArrayList<Product>();
产品构造函数是;
public Product(String productName, String productLink, double purchasePrice, String purchaseDate,
String repurchaseDate, int quantity) {
this.productName = productName;
this.productLink = productLink;
this.purchasePrice = purchasePrice;
this.purchaseDate = purchaseDate;
this.repurchaseDate = repurchaseDate;
}
我正在尝试遍历数组列表,以输出产品的总成本。产品的总成本是数量*采购价格。方法是;
public static void totalSpend() {
double productCost = 0, totalCost = 0;
for (int i = 0; i < productArray.size(); i++) {
productCost = ((double)productArray.get(i).getQuantity()) * ((double)productArray.get(i).getPurchasePrice());
System.out.println("\nThe "+productArray.get(i).getProductName()+" costs £"+productArray.get(i).getPurchasePrice());
totalCost+= productCost;
}
System.out.println("\nThe total cost is £"+totalCost);
}//methodEnd
我试过将 productCost 转换为 double 和 int,尝试将 productCost 和 totalCost 移动到循环内。
如何将数组传递给方法?
看起来您的方法正在处理没有数据的数组。使用 Product 对象初始化数组并将其传递给方法
尝试:
public static void totalSpend(ArrayList<Product> productArray){
将来,您应该 post 更多代码以了解它们是如何联系在一起的,但是根据您在这里的内容,我想我看到了问题所在。 Product 的构造函数有一个数量参数,但您实际上并没有将该值保存在构造函数中的任何位置。( this.quantity = quantity )假设 getQuantity() returns 一个存储在某处的 int产品 class,它可能只会返回默认的 int 值零,导致无论您做什么,产品成本始终为零。
如何在程序中输出产品的总成本?我的程序输出始终为 0。
我有一个数组列表,类型是一个名为 Product 的对象;
static ArrayList<Product> productArray = new ArrayList<Product>();
产品构造函数是;
public Product(String productName, String productLink, double purchasePrice, String purchaseDate,
String repurchaseDate, int quantity) {
this.productName = productName;
this.productLink = productLink;
this.purchasePrice = purchasePrice;
this.purchaseDate = purchaseDate;
this.repurchaseDate = repurchaseDate;
}
我正在尝试遍历数组列表,以输出产品的总成本。产品的总成本是数量*采购价格。方法是;
public static void totalSpend() {
double productCost = 0, totalCost = 0;
for (int i = 0; i < productArray.size(); i++) {
productCost = ((double)productArray.get(i).getQuantity()) * ((double)productArray.get(i).getPurchasePrice());
System.out.println("\nThe "+productArray.get(i).getProductName()+" costs £"+productArray.get(i).getPurchasePrice());
totalCost+= productCost;
}
System.out.println("\nThe total cost is £"+totalCost);
}//methodEnd
我试过将 productCost 转换为 double 和 int,尝试将 productCost 和 totalCost 移动到循环内。
如何将数组传递给方法? 看起来您的方法正在处理没有数据的数组。使用 Product 对象初始化数组并将其传递给方法
尝试:
public static void totalSpend(ArrayList<Product> productArray){
将来,您应该 post 更多代码以了解它们是如何联系在一起的,但是根据您在这里的内容,我想我看到了问题所在。 Product 的构造函数有一个数量参数,但您实际上并没有将该值保存在构造函数中的任何位置。( this.quantity = quantity )假设 getQuantity() returns 一个存储在某处的 int产品 class,它可能只会返回默认的 int 值零,导致无论您做什么,产品成本始终为零。