我正在处理codingbat.com 上的Java 问题,并在这个scoresAverage上停了下来。由于练习描述有点复杂,我将简单地粘贴在这里:
给定一个分数数组,计算前半部分和后半部分的 int 平均值,并返回较大的那个。我们会说后半部分从索引长度/2 开始。数组长度至少为 2。要练习分解,请编写一个单独的辅助方法
int average(int[] scores, int start, int end) { 计算索引 start..end 之间元素的平均值。调用您的辅助方法两次以实现 scoreAverage()。在 JavaBat 文本区域中的 scoresAverage() 方法之后编写您的辅助方法。通常你会用双精度计算平均值,但这里我们使用整数,所以预期的结果是准确的。
我到目前为止的代码没有返回任何错误,但它返回的数字不正确。谁能帮我这个?我的代码尝试如下:
public int scoresAverage(int[] scores) {
int mid = scores.length/2;
int average1 = average(scores, 0, mid);
int average2 = average(scores, mid, scores.length);
return Math.max(average1,average2);
}
public int average(int[] scores, int start, int end){
int sum = 0;
for (int i=start; i<end; i++){
sum += scores[i];
}
return sum/(scores.length);
}