我试图计算用户输入的数据集的方差。但是,当我运行我的程序时,我得到错误:类Test中的方法差异不能应用于给定的类型。 到目前为止,这是我的代码:
public static double variance(ArrayList<Double> numbers, double mean) {
double variance = 0;
for (int i = 0; i <numbers.size(); i++) {
variance = variance + Math.pow((numbers.get(i) - mean(numbers)), 2);
}
return variance/numbers.size();
}
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter data set: ");
ArrayList<Double> nums = new ArrayList<Double>();
while (keyboard.hasNextDouble()) {
nums.add(keyboard.nextDouble());
}
double numbs = mean(nums);
System.out.println("Mean = " + numbs);
double numbs2 = variance(nums);
System.out.println("Variance = " + numbs2);
}
}
我有一个Variance方法之上的方法来计算ArrayList的平均值,尽管我在方差方法中初始化了一个双重均值,但它仍然有用吗?
答案 0 :(得分:0)
您的variance
方法需要 2 参数,但当您调用它时,只需一个参数
答案 1 :(得分:0)
调整before_filter
方法以接受一个参数,如此
variance
定义类似于此的方法 public static double variance(ArrayList<Double> numbers) {
double variance = 0;
for (int i = 0; i <numbers.size(); i++) {
variance = variance + Math.pow((numbers.get(i) - mean(numbers)), 2);
}
return variance/numbers.size();
}
,其余的应该没问题。
mean