0

私はcodingbat.comでJavaの問題に取り組んでおり、このscoreAverageで停止しました。演習の説明は少し複雑なので、ここに貼り付けます。

スコアの配列を指定して、前半と後半の int 平均を計算し、大きい方を返します。後半はインデックスの長さ/2 で始まると言います。配列の長さは少なくとも 2 になります。分解を実践するには、別のヘルパー メソッド
int average(int[] score, int start, int end) { を記述します。これは、インデックス start..end 間の要素の平均を計算します。ヘルパー メソッドを 2 回呼び出して、scoreAverage() を実装します。JavaBat テキスト領域で、scoreAverage() メソッドの後にヘルパー メソッドを記述します。通常は double で平均を計算しますが、ここでは int を使用しているため、期待される結果は正確です。

これまでのコードはエラーを返しませんが、返される数値は正しくありません。誰でもこれで私を助けることができますか?私のコードの試みは次のとおりです。

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);
}
4

2 に答える 2

4

sum/scores.lengthすべての数値の合計を平均します。sum/(end - start)数値のサブセットの合計を平均したい

于 2013-04-12T13:59:05.737 に答える
0

これにより、各半分の平均が得られます。

return sum/(scores.length/2) 
于 2016-05-24T20:29:28.563 に答える