答案 1
public class Statistics {
double[] data;
int size;
public Statistics(double[] data) {
this.data = data;
size = data.length;
}
double getMean() {
double sum = 0.0;
for(double a : data)
sum += a;
return sum/size;
}
double getVariance() {
double mean = getMean();
double temp = 0;
for(double a :data)
temp += (a-mean)*(a-mean);
return temp/(size-1);
}
double getStdDev() {
return Math.sqrt(getVariance());
}
public double median() {
Arrays.sort(data);
if (data.length % 2 == 0)
return (data[(data.length / 2) - 1] + data[data.length / 2]) / 2.0;
return data[data.length / 2];
}
}
答案 2
要计算平均值,请遍历数字列表/数组,跟踪部分和长度。然后返回 .sum/length
double sum = 0.0;
int length = 0;
for( double number : numbers ) {
sum += number;
length++;
}
return sum/length;
方差的计算方式类似。标准差只是方差的平方根:
double stddev = Math.sqrt( variance );
推荐
-
-
-
Java Math.pow 的错误结果 如果您尝试运行以下代码 您将获得“51185893014090752 8” 正确的值 13^15 51185893014090757,即大于返回的结果 5。任何可能导致它的想法?
-
在圆上查找点的角度 想象一下,我在屏幕上画了一个中心坐标(cx,cy)的圆,并在圆上选择了一个随机点(A)。 通过获得点A的坐标,我需要找到(a)的角度。 更新: 我尝试使用以下公式: 但是由于公式中
-
我的 Java 电源方法的效率如何? 所以我参加了一个求职面试,他们让我在白板上写下一个快速的数学能力方法,这就是我放在那里的东西。 这很有效,他们对此感到满意,但后来继续问我如何才能提高效率,我没有回应。所