【发布时间】:2015-12-12 04:00:02
【问题描述】:
我完成了 9.1 和 9.2。现在,我认为答案并不是那么简单。以下是说明:
一组数字的标准差是衡量其值分布的指标。它被定义为每个数字与平均值之间的平方差的平均值的平方根。计算数据中存储的数字的标准差:
计算数字的平均值。
对于每个数字,从平均值中减去它并平方结果。
求步骤 2 中计算的数字的平均值。
求第 3 步结果的平方根。这是标准差。 编写代码计算data中数字的标准差,并将结果存储在double sd中。
要求非负双精度 d 的平方根,请使用表达式
double s = Math.sqrt( d );
这是我的代码:
double[] data = { };
double sd;
double sum = 0;
double mean = 0;
double sd = 0;
runProgram = true;
for (int = 0; i < data.length; i++) {
sum += data[i];
mean = sum/(data.length - 1);
mean = data[i];
mean *= mean;
}
while (runProgram == true)
sd += Math.sqrt(mean);
我真的不明白我做错了什么。任何建议都会尝试。
【问题讨论】:
-
sqrt()不应该在for之外吗?! -
看看我编辑的答案!