Java差异方法

时间:2013-10-01 12:48:35

标签: java methods

我正在尝试创建一个方法来检查某些Y坐标的第一个差异,如果第一个差异是相同的,它将采取这些差异并检查第二个差异,我想继续检查,直到我的变量是等于。我的问题是检查我的差异数组中的相等性

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;
}

1 个答案:

答案 0 :(得分: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);
    }
}