私は整数のArrayListを持っています:[11,15,10,19,9,2,2,16] と私は正しい答えを返すように見えません。Javaを使用して標準偏差を計算しますか?
マイコード:
static double Q2(ArrayList<Integer> input) {
Collections.sort(input);
ArrayList<Double> input2 = new ArrayList<>();
double sum = 0;
double sum2 = 0;
double sd = 0;
for (int i = 0; i < input.size(); i++) {
sum = sum + input.get(i);
}
double mean = sum/input.size();
for (int i = 0; i < input.size(); i++) {
input2.add((Math.pow((input.get(i) - mean), 2)));
}
for (int i = 0; i < input2.size(); i++) {
sum2 = sum2 + input2.get(i);
}
double mean2 = sum2/input2.size();
sd = Math.sqrt(mean2);
return sd;
予想される出力は次のようになります。5.998697775350913
私の出力は、次のとおりです。6.010407640085654
に感謝、お時間をいただき、ありがとうございます。
あなたのコードを使って正しい出力を得ました。 http://ideone.com/XmTDb2 – jyotesh
私はあなたのコードを単純化しました:http://ideone.com/hWTBgi。結果は5.998697775350913 – Zefick
である可能性があります。あなたの入力に問題があるかもしれません。 – sirandy