我无法在 Java 中正确乘以数组

I cannot multiply the arrays correctly in Java

这是我的代码 - 它为 weightedProduct() 所做的全部是 return 0.00.

我哪里做错了?我需要它来乘以 units * price 和 return 乘以 product.

public class FrameArray {

    private String frameInventory;
    private int[] units;
    private double[] price;
    private double product;

    public FrameArray( String frame, int[] unitsArray, double[] priceArray, double product )
    {
        frameInventory = frame;
        units = unitsArray;
        price = priceArray;
        product = weightedProduct(unitsArray, priceArray);
    }

    public void setFrameInventory( String frame )
    {
        frameInventory = frame;
    }

    public String getFrameInventory()
    {
        return frameInventory;
    }
     public double weightedProduct(int[] unitsArray, double[] priceArray){
            double value = 0;
            double product = 0;
            for(int i = 0; i < unitsArray.length; i++){
                value = (double) (unitsArray[i] * priceArray[i]);
                product = product + value;}
            return product;
     }    

    public void displayMessage()
    {   
        System.out.printf( "Current frame inventory\n\n");
    }

    public void processInventory()
    {
        outputInventory();
    }

    public void outputInventory()
    {
        System.out.println( "Inventory levels:\n");
        System.out.printf( "Style     Qty    Price     Value\n\n");

        for (int frame = 0; frame < price.length; frame++) 
            System.out.printf( "Frame %2d: %3d    %5.2f    %5.2f\n", 
                    frame + 1, units[ frame ], price[ frame], product );    
    }
}

这是阴影效果

我认为 FrameArray().

中存在歧义

语句中使用的product只是将值赋值给函数范围内的参数。

product = weightedProduct(unitsArray, priceArray);

如图所示更正即可:

public FrameArray( String frame, int[] unitsArray, double[] priceArray, double product )
{
    frameInventory = frame;
    units = unitsArray;
    price = priceArray;
    this.product = weightedProduct(unitsArray, priceArray);
}

您也可以简单地删除 FrameArray()product 参数,因为它只是通过 weightedProduct() 函数更新状态变量` s return 值。