私は、javaのarraylistsを使用して分散を計算する必要がある練習をしています。arraylistsでサンプルの分散を計算するJava
整数型ではなく、倍精度型のarraylistの計算方法が分かれていると思っていましたが、そうではありませんでした。 NetBeansで
import java.util.ArrayList;
public class Variance {
// Copy here sum from exercise 63
public static double sum(ArrayList<Integer> list) {
int i = 0;
int sum = 0;
while (i < list.size()) {
sum += list.get(i);
i++;
}
return sum;
}
public static double sumdouble(ArrayList<Double> list) {
int i = 0;
double sum = 0;
while (i < list.size()) {
sum += list.get(i);
i++;
}
return sum;
}
// Copy here average from exercise 64
public static double average(ArrayList<Integer> list) {
double sum = sum(list);
double average = sum/list.size();
return average;
}
public static double averagedouble(ArrayList<Double> lists) {
double sum = sumdouble(lists);
double average = sum/lists.size();
return average;
}
public static double variance(ArrayList<Integer> list) {
double mean = average(list);
int i = list.size() - 1;
ArrayList<Double> varianceList = new ArrayList<Double>();
while (i >= 0) {
//gets value
double value = list.get(i);
value = value - mean;
value = value * value;
varianceList.add(value);
}
double final = averagedouble(varianceList);
return final;
}
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(2);
list.add(7);
list.add(2);
System.out.println("The variance is: " + variance(list));
}
}
エラー:互換性のない型:ArrayListのは することはできません任意の助け
感謝をdoubleに変換。
あなたのwhileループが終了したことがない、A:またはちょうどメソッドの値を返します'final'はJavaのキーワードなので、' double final = averagedouble(varianceList); 'はコンパイルされません。 –