我正在创建一个方法数组,并不断出现错误: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])
}
}
我不太明白为什么这是错误的,因为数组不应该被我的for循环转换成double吗?
最佳答案
在提出针对编译器错误的解决方案之前,首先需要了解原始数据类型和数组之间的区别。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;
}
关于java - Java错误: double cannot be converted to double[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38938993/