2013-09-25 31 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; 
} 

目前只返回一個雙,而不是整個陣列