複数の宿題値の偏差を見つける必要があります。これを行うには、変数の宿題を for ループに格納する必要があるため、実行するたびに自分自身を削除します。また、個別の宿題のスコア値を保存するために必要な変数の数は不明であるため、変数のリストを作成することはできません。私がする必要があるのは、配列のリストを作成することだと思いますが、それが正しいかどうかはわかりません。
ここに私が作成した配列を含むメソッドのコードがあります...
public double computeHomeworkDeviation(int homework){
int[] homeworkScore = new int[totalStudents];
if(computeHomeworkDeviationCounter < totalStudents){
homeworkScore[computeHomeworkDeviationCounter] = homework;
computeHomeworkDeviationCounter++;
}
else{
for(int k = 1; k <= totalStudents; k++){
top += Math.pow(homeworkScore[totalStudents - k] - homeworkAverage, 2);
}
homeworkDeviation = Math.sqrt(top / totalStudents);
}
return homeworkDeviation;
}
このメソッドは for ループに呼び出され、配列リストに格納する必要がある宿題変数の引数を呼び出します。私が持っているものが機能していません。何が間違っていますか? (配列の値が保存されているとは思えません)
編集:私は今それを2つの方法に分けました。
setArray メソッド...
public void setHomeworkArray(int homework){
homeworkScore[l] = homework;
l++;
}
computeHomeworkDeviationMethod...
public double computeHomeworkDeviation(int homework){
for(int k = 1; k <= totalStudents; k++){
top += Math.pow(homeworkScore[totalStudents - k] - homeworkAverage, 2);
}
homeworkDeviation = Math.sqrt(top / totalStudents);
return homeworkDeviation;
}
まだ ArrayOutOfBoundsException エラーが発生しています。