2013-09-25 35 views
1

我有一个x和y坐标的数组,我传递给它检查第一个差异的方法。我的问题,当我返回它时,我的程序只显示了前两个坐标的第一个区别。Java:一个int数组差异

 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

您正在返回一个'double',这意味着一个值。可能你希望返回一个'double []'或者更好的'List ' –

+0

问题不清楚。你想在差异方法中做什么? – hrv

回答

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 
} 

你是真正水流只返回一个双倍数,而不是整个数组

+0

谢谢!这真的帮助我了! – BlueBarren

0

因为你在循环中有一个返回它在第一次迭代本身返回。 我觉得如果你需要多个不同来改变返回类型为double[],回到你不需要一个循环here.Or ardDifference

for (int i = 0; i < 5; i++) { 
     ardDifference[i] = ardY[i + 1] - ardY[i]; 
    } 
      return ardDifference; 
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; 
} 

目前只返回一个双,而不是整个阵列