Java错误:double无法转换为double []

问题描述:

我正在创建一个方法数组并继续收到错误:double无法转换为double []。 这里是我的代码:Java错误:double无法转换为double []

public static double[] calculate(double[] number1, double[] number2) 
    { 
     for(int i=0; i<10; i++) 
     { 
      return number1[i] * (6.67e-3)/(number2[i]*number2[i]) 
     } 
    } 

我不太明白为什么这是错的,因为不应该的阵列已经转换为double我的for循环?

+2

不必返回一个双阵列...而不能在这里发生的问题,你甚至布尔 – Li357

+0

工作没有这已被要求,并回答了这一点,类似的网站无数次。你有没有搜索错误信息? –

+0

你想要在方法中创建一个double数组,用双重结果填充数组,然后在最后返回它。 –

在为编译器错误提出修复建议之前,首先需要了解原始数据类型和数组之间的差异。

doubleprimitive data type

array是一个容器对象,它可以包含相同类型的数据。 所以double和double []不一样。

通过看到你的代码,你似乎想要返回一个由输入数组值计算出来的double值数组。

在这里,您需要在将值分配给数组的各个元素之前,创建所需大小的数组ret。最后,将数组返回到循环外部。

public static double[] calculate(double[] number1, double[] number2) 
{ 
     double[] ret = new double[10]; 
     for(int i=0; i<ret.length; i++) 
     { 
      ret[i] = number1[i] * (6.67e-3)/(number2[i]*number2[i]); 
     } 
     return ret; 
} 
+0

谢谢!我看到我做了什么......我认为所需的尺寸是自动的。 – anoushajava