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循环?
答
在为编译器错误提出修复建议之前,首先需要了解原始数据类型和数组之间的差异。
double
是primitive 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
不必返回一个双阵列...而不能在这里发生的问题,你甚至布尔 – Li357
工作没有这已被要求,并回答了这一点,类似的网站无数次。你有没有搜索错误信息? –
你想要在方法中创建一个double数组,用双重结果填充数组,然后在最后返回它。 –