【发布时间】:2015-10-05 14:08:33
【问题描述】:
我正在编写一个程序,该程序将一个偶数长度的数组从中间拆分并找到两半中最大的一个。这是我到目前为止的代码,但是我不确定在 calculateAverage 方法中作为第一个参数传递什么。任何帮助将不胜感激。
public int calculateAverage(int[] scores, int start, int end) {
int count = 0;
int score = 0;
for (int i = start; i < end; i++) {
score += scores[i];
count++;
}
score = (score / count);
return score;
}
public int scoresAverage(int[] scores) {
int endOfFirstHalf = (scores.length / 2) - 1;
int firstHalf = calculateAverage(scores[], scores[0], endOfFirstHalf);
int secondHalf = calculateAverage(scores[], scores[scores.length / 2], scores[scores.length - 1]);
if (firstHalf < secondHalf) {
return secondHalf;
} else {
return firstHalf;
}
}
【问题讨论】:
-
为什么你有一个你不知道为什么有它的方法?你到底写了什么?
-
好点@Dici...您必须将
scores数组从scoresAverage方法传递给calculateAverage方法 -
如果您致电
calculateAverage,我会通过(scores, 0, endOfFirstHalf);和(scores, endOfFirstHalf, scores.Length); -
您的第二种方法不计算平均值。即使您将正确的参数传递给
caculateAverage(您没有),它也会返回具有较高平均值的一半数组的平均值。 -
我只想返回平均值最高的一半,而不是返回平均值。我已将代码更新为我所拥有的。我只是在 calculateAverage 方法的第一个参数上遇到错误,因为我不确定要传递什么。
标签: java arrays methods parameters