创建一个追加方法

时间:2017-11-16 19:38:12

标签: java arrays append

我正在做一个需要我创建追加方法的项目。

这是指示说的:

这些方法应该创建一个新的双精度数组 数据元素后跟作为参数传递的数组元素。对此数组的引用 应该分配给数据。如果参数为null,那么该方法应该什么都不做(没有新的 阵列创建)

到目前为止,这是我的代码:

public void append(double [] d) {

        if (data != null) {

        double[] newDataArray = new double [data.length];

        for(int i = 0; i < data.length; i++) {

            newDataArray[i] = data[i]; 
        }

        } else {

        }

    }

我正在使用这个主要方法测试它:

double[]    data1   =   {};
double[]    data2   =   {   25  };
float[] data3   =   {};
float[] data4   =   {   25  };
int[]   data5   =   {};
int[]   data6   =   {   50  };
long[]  data7   =   {};
long[]  data8   =   {   12  };
Stat    stat1   =   new Stat();
stat1.append(data1);
stat1.append(data2);
stat1.append(data3);
stat1.append(data4);
stat1.append(data5);
stat1.append(data6);
stat1.append(data7);
stat1.append(data8);
data1   =   null;
stat1.append(data1);
System.out.println("stat1   data    =   " + stat1.toString());
System.out.println("stat1   min =   " + stat1.min());
System.out.println("stat1   max =   " + stat1.max());
System.out.println("stat1   average =   " + stat1.average());
System.out.println("stat1   mode    =   " + stat1.mode());
System.out.println("stat1   variance    =   " + stat1.variance());
System.out.println("stat1   standard    deviation   =   " + stat1.standardDeviation()   +   "\n");

这是我的输出:

stat1   data    =   [0.0, ]
stat1   min =   0.0
stat1   max =   0.0
stat1   average =   0.0
stat1   mode    =   0.0
stat1   variance    =   0.0
stat1   standard    deviation   =   0.0

但输出应为:

stat1   data    =   [25.0,  25.0,   50.0,   12.0]
stat1   min =   12.0
stat1   max =   50.0
stat1   average =   28.0
stat1   mode    =   25.0
stat1 variance  =   189.5
stat1   standard    deviation   =   13.765899897936205

有人可以帮我理解我做错了吗?

1 个答案:

答案 0 :(得分:1)

data未在任何地方定义,即使它在append方法中使用过;它也不会在你的方法中被分配。