首页 > 解决方案 > 这是我得到的错误:类型不匹配:无法从双精度转换为双精度 []

问题描述

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;

        }
}

标签: javaarraysmethods

解决方案


varianceingimm()方法是双精度的,但您的方法的返回类型是双精度double[]数组。像这样将方法的返回类型更改为加倍。

public static double gimm() { ...}


推荐阅读