首页 > 解决方案 > 无法在数组类型 double[][] 上调用 getTotal()?

问题描述

我试图得到一个双数组的总数,我已经写了一个类。(如下图)

public class ArrayProcessing
{
    
    public double getTotal(double[][]a)
    {
        double total = 0;
    
        for(int i=0; i < a.length; i++)
        {
            for(int j=0; j < a[i].length; j++)
            {
                total += a[i][j];
            }
        }
        return total;   
    }

    public double getAverage(double[][]a)
    {    
        return getTotal(a) / a.length;
    }

}

到目前为止,我的主程序看起来像这样。

public class Demo {

        public static void main(String [] args)
        {
            double[][]numbers = new double[4][4];

            numbers.getTotal();
        }
}

我正在尝试将数字初始化为双精度数组并创建它的新实例。我的问题是为什么不起作用numbers.getTotal();

标签: javaarraysmethods

解决方案


该方法未定义在Array. 在 Java 中,无法将自定义方法添加到Array. 按照这种编写方式,您必须先创建一个实例ArrayProcessing

ArrayProcessing processor = new ArrayProcessing();
processor.getTotal(numbers);

最好声明getTotal为,static因为这样您就可以直接调用:

ArrayProcessing.getTotal(numbers);

这是使用 Java 实用程序类的常用方法。


推荐阅读