【发布时间】:2016-01-16 20:39:41
【问题描述】:
下面的代码从 0 到 100 生成 100 个排序的随机双精度数,然后从这 100 个数字中计算平均值 (avg)。我的意图是从这些数字中计算 10 个平均值,然后对它们进行排序,但在许多尝试中,我得到了 100 个排序的随机数字或 1 个平均值 :(
如何获得这 10 个排序后的平均值?
public class NewMain {
private static Random rand = new Random();
public static void main(String[] args) {
System.out.println(Arrays.toString(sortowacz(100, 0, 100)));
}
public static Object[] sortowacz(final double length, final double min,
final double max) {
List<Double> nieposortowanaLista = randList(length, min, max);
Collections.sort(nieposortowanaLista);
return nieposortowanaLista.toArray();
}
private static List<Double> randList(final double length, final double min,
final double max) {
List<Double> list = new ArrayList<>();
List<Double> avg = new ArrayList<>();
double sum = 0.0;
for (int i = 0; i < length; i++) {
list.add(min + (max - min) * rand.nextDouble());
}
for (int i = 0; i < list.size(); i++) {
sum += list.get(i);
}
avg.add(sum / list.size());
return list;
}
}
【问题讨论】:
-
10 averages的平均值是多少? :) -
如果您要求人们阅读您的代码,能否正确缩进?
-
无论多长,您总是需要 10 个平均值?
-
@Dzmitry Paulenka 它们是 100 个随机生成数字的平均值
-
@Noor Nawaz 不,可能是从 10 到 1000
标签: java list random arraylist