这是我得到的错误:类型不匹配:无法从double转换为double []

时间:2019-12-09 16:17:35

标签: java arrays methods

import java.lang.reflect.Array;
import java.util.Arrays;

public class randomArray {

public static void main(String[] args) {

    double[] awesome = gimm();
    System.out.println(Arrays.toString(awesome));


}
public static int[] gimme() {
    int[] array = new int[40];
    for(int i = 1; i< array.length; i++) {
        array[i] = (int) (Math.random()*40);
    }
    return array;
}
public static double[] gimm() {
    double mean = 0.0, variance = 0.0, sum = 0.0;
    int ayeArray[] = gimme();

    for(int i= 1; i<ayeArray.length;i++) 
        sum += ayeArray[i];
    mean = sum/ayeArray.length;

    for(int i= 1; i<ayeArray.length;i++) 
        variance = Math.pow(ayeArray[i] - mean, 2);
    variance = variance/ayeArray.length;

        return variance;

        }
}

4 个答案:

答案 0 :(得分:0)

变量变量是双精度型。您正在返回方差,因此您正在返回双精度型。但是,该方法被定义为double []。您必须返回double []。

有问题,请告诉我是否需要进一步的帮助。

答案 1 :(得分:0)

您将方差变量声明为double并返回它,但是方法gimm()返回数组double []。

答案 2 :(得分:0)

variance中的gimm()是双精度型,但是方法的返回类型是double[],它是双精度型数组。 像这样将方法的返回类型更改为两倍。

public static double gimm() { ...}

答案 3 :(得分:0)

您似乎已经声明了gimm()函数来返回double []。实际上,您最终会在函数末尾返回一个正常的double值。我建议您将方差变成一个double数组(如double []一样)。其他一切似乎都已设定。