2013-10-01 82 views
0

我想創建一個方法,檢查一些Y座標的第一個差異,如果第一個差異是相同的,它會採取這些差異,並檢查第二個差異,我想繼續檢查,直到我的變量是平等的。我的問題是在我的差異陣列檢查平等Java的差異方法

public static double[] Difference(double ardY[]) { 
    double ardDifference[] = new double[5]; 
    for (int j = 0; j < 5; j++) { 
     ardDifference[j] = ardY[j + 1] - ardY[j]; 
     while (ardDifference[j] != ardDifference[j]) { 
      for (int i = 0; i < 4; i++) { 
       ardDifference[i] = ardY[i + 1] - ardY[i]; 
       if (ardDifference[j] == ardDifference[i]) { 
        return ardDifference; 
        break; 
       } 
      } 
     } 
    } 
    return ardDifference; 
} 
+3

什麼是你的問題?這很模糊.. – Maroun

+1

你的問題是什麼? – Antoniossss

+1

您可能想要發佈方法的簡短數據示例:獲取的內容以及返回的內容。 –

回答

1

我不太確定你想在這裏做什麼,但如果你想計算的差異,直到你得到的不同的陣列是所有相等,那麼你可以很容易地做到遞歸:

public static double[] Difference(double ardY[]) { 
    double ardDifference[] = new double[ardY.length - 1]; 

    boolean allEqual = true; 
    double prev; 
    for (int j = 0; j < ardDifference.length; j++) { 
     ardDifference[j] = ardY[j + 1] - ardY[j]; 
     if (j != 0) { 
      allEqual &= prev == ardDifference[j]; 
     } 
     prev = ardDifference[j]; 
    } 

    if (allEqual) { 
     return ardDifference; 
    } else { 
     return Difference(ardDifference); 
    } 
} 
+0

謝謝,這正是我正在尋找的 – BlueBarren

+0

修正了一些實際更新循環中的'prev' – SamYonnou