【发布时间】:2014-10-09 21:20:31
【问题描述】:
我想调用此方法从数组中获取中位数。该方法被声明为public double getMedian(double[]list){//code}。
我尝试将该方法称为getMedian(double,list),但出现错误。调用该方法的正确方法是什么?
这里是完整的方法:
public double getMedian(double[] list) {
// calculate the length of the entries
// create an iterator
int factor = list.length - 1;
double[] first = new double[(int) ((double) factor / 2)];
double[] last = new double[first.length];
double[] middleNumbers = new double[1];
for (int i = 0; i < first.length; i++) {
first[i] = list[i];
}
for (int i = list.length; i > last.length; i--) {
last[i] = list[i];
}
for (int i = 0; i <= list.length; i++) {
if (list[i] != first[i] || list[i] != last[i])
middleNumbers[i] = list[i];
}
if (list.length % 2 == 0) {
double total = middleNumbers[0] + middleNumbers[1];
return total / 2;
} else {
System.out.println(middleNumbers);
return middleNumbers[0];
}
}
【问题讨论】:
-
它要求一个双精度数组。 “list”只是它用于该数组的名称。