Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 平均值和数组(Codingbat:scoresAverage)_Java_Average - Fatal编程技术网

Java 平均值和数组(Codingbat:scoresAverage)

Java 平均值和数组(Codingbat:scoresAverage),java,average,Java,Average,我正在codingbat.com上处理Java问题,在这个问题上我已经停了下来,scoresAverage。由于练习说明有点复杂,我只需将其粘贴在此处: 给定一组分数,计算上半场的整数平均值 和下半部分,返回较大的值。我们会这么说 下半部分从索引长度/2开始。数组长度将为 至少2个。要练习分解,请编写一个单独的助手方法 int平均值(int[]分数,int开始,int结束){其中计算 索引之间元素的平均值start..end.调用 帮助器方法两次以实现scoresAverage()。编写帮助器

我正在codingbat.com上处理Java问题,在这个问题上我已经停了下来,scoresAverage。由于练习说明有点复杂,我只需将其粘贴在此处:

给定一组分数,计算上半场的整数平均值 和下半部分,返回较大的值。我们会这么说 下半部分从索引长度/2开始。数组长度将为 至少2个。要练习分解,请编写一个单独的助手方法
int平均值(int[]分数,int开始,int结束){其中计算 索引之间元素的平均值start..end.调用 帮助器方法两次以实现scoresAverage()。编写帮助器 方法位于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);
}
public int scoresAverage(int[]分数){
int mid=分数。长度/2;
int average1=平均值(分数,0,中等);
int average2=平均值(分数、中间值、分数、长度);
返回Math.max(平均值1,平均值2);
}
公共整数平均值(整数[]分数,整数开始,整数结束){
整数和=0;

对于(int i=start;i
sum/scores。length
将平均所有数字的总和;您希望
sum/(end-start)
平均数字子集的总和。length
将平均所有数字的总和;您希望
sum/(end-start)
要对数字子集的总和求平均值

这将得到每一半的平均值:

return sum/(scores.length/2) 

这将得到每一半的平均值:

return sum/(scores.length/2) 

我将sum设为float/double类型,然后返回一个四舍五入的值2.9将返回为2而不是3!@MalaKa这看起来像是学校的作业,而且由于没有指定舍入,教授可能不希望在计算中使用双倍。@NominSim我明白你的意思,我也考虑过。但是,这对我来说没有太大意义。但是,是的,可能只希望使用整数s、 .我将sum设为float/double类型,然后返回一个四舍五入的值。因为像这样,平均值(作为double)2.9将返回为2而不是3!@MalaKa这看起来像是学校的作业,而且由于没有指定舍入,教授可能不希望在计算中使用双倍。@NominSim我明白你的意思,我也考虑过。但是,这对我来说没有太大意义。但是,是的,可能只希望使用整数s