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);
}
}
Я так устал, и я получил это далеко в этом упражнении, я даже не уверен, если он печатает правильный ответ, но сейчас его говорит мне двойной stdD = GETD (среднее, число); , что существуют несовместимые типы, не уверен, что это несовместимые Заранее спасибоНесовместимые типы по методу
Ха. Я думал, что было ошибкой возвращать значение из пустоты. – Tharwen
, но это ошибка? он сказал мне, как исправить это. –
@Tharwen хорошо нормально было две ошибки. Сначала он попытался записать пустоту в переменную, а во-вторых попытаться вернуть значение в метод void. но поскольку он хотел записать значение в двойной переменной, фактической ошибкой был тип возврата void, а не возврат в метод void. – tagtraeumer