私は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);
}