我正在尝试创建一种方法来检查某些 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;
}
最佳答案
我不太确定你在这里想做什么,但是如果你想计算差异直到得到一组全部相等的差异,那么你可以使用递归很容易地做到这一点:
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);
}
}
关于Java 差异方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116615/