我有一个x和y坐标数组,我将其传递给一个检查第一个差异的方法。当我将程序返回时,我的问题只显示前两个坐标的第一个区别。
System.out.println(Arrays.toString(ardDifference));
fin.close();
}
public static double Difference(double ardY[]) {
double ardDifference[] = new double[5];
for (int i = 0; i < 5; i++) {
ardDifference[i] = ardY[i + 1] - ardY[i];
return ardDifference[i];
}
return 0;
}
}
答案 0 :(得分:0)
因为你在循环中有一个返回,它会在第一次迭代中返回。
我觉得你不需要循环。如果你需要多个差异,那么将返回类型更改为double[]
并返回ardDifference
for (int i = 0; i < 5; i++) {
ardDifference[i] = ardY[i + 1] - ardY[i];
}
return ardDifference;
答案 1 :(得分:0)
//modify public static double Difference(double ardY[]) {
public static double[] Difference(double ardY[]) {
double ardDifference[] = new double[5];
for (int i = 0; i < 5; i++) {
ardDifference[i] = ardY[i + 1] - ardY[i];
// remove this line return ardDifference[i];
}
//modify return 0;
return ardDifference;
}
您目前只返回一个双倍,而不是整个数组
答案 2 :(得分:0)
您似乎没有返回整个数组,您应该更改为
// Return type \/ is double[] instead of double
public static double[] Difference(double ardY[]) {
double ardDifference[] = new double[5];
for (int i = 0; i < 5; i++) {
ardDifference[i] = ardY[i + 1] - ardY[i];
}
return ardDifference;//Returns entire array
}
您目前只返回一个双倍,而不是整个数组