import java.util.*;
import java.lang.Math;
class StandardDeviation{
public static void main(String args[]){
ArrayList<Double> numbers = new ArrayList<Double>();
Scanner kb=new Scanner(System.in);
double in=kb.nextDouble();
while(in!=-1){
numbers.add(kb.nextDouble());
}
double avg = getAvg(numbers);
double stdD = getD(avg,numbers);// tells me these are incompatible types
System.out.printf("%f\n",stdD);
}
public static double getAvg(ArrayList<Double> numbers){
double sum = 0.0;
for (Double num : numbers){
sum+= num;
}
return sum/numbers.size();
}
public static void getD(double avg, ArrayList<Double> numbers){
ArrayList<Double> newSet = new ArrayList<Double>();
for (int i = 0; i < numbers.size(); i++){
newSet.add(Math.pow(numbers.get(i)-avg,2));
}
double total = 0.0;
for (Double num : newSet){
total += num;
}
double mean =(total/numbers.size());
return Math.sqrt(mean);
}
}
我太累了,我在这个练习中走了这么远,我什至不确定它是否打印出正确的答案,但现在它告诉我 double stdD = getD(avg,numbers); 有不兼容的类型,不确定什么是不兼容的提前谢谢