gpt4 book ai didi

java - 从 ArrayList 获取 double 的平均值

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:12 25 4
gpt4 key购买 nike

我正在创建一个程序,将 double 存储在数组中,然后将每个数组存储在 ArrayList 中,然后计算该 ArrayList 的平均值,但我不断收到“从 double 到 int 的可能有损转换”。在第 5 行。

我是 java 新手,所以我可能正在监督一个简单的修复。

public static double calculateAll(List<double[]> allNumbers) {  
double average = 0.0;
double total = 0.0;
for(int i = 0; i < allNumbers.size(); i++) {
total += allNumbers.get(i);
}
average = total/allNumbers.size();
return average;
}

最佳答案

我不确定您在问题中要问什么,但我认为这就是您正在寻找的内容。

public static double calculateAll(List<Double> allNumbers) {
double average;
double total = 0.0;
for (Double allNumber : allNumbers) {
total += allNumber;
}
average = total / allNumbers.size();
return average;
}

您正在将数组存储在集合中。所以我将其更改为 Double请注意double是本地的,而 Double不是。你不能拥有double在集合中。然后我转换了 for循环进入 foreach循环

以下是调用此代码的方法。

public static void main(String[] args) {
List<Double> doubles = new ArrayList<>();
doubles.add(0.1);
doubles.add(4.1);
double wat = calculateAll(doubles);
System.out.println(wat);
}

因此,让我们记下我们所做的所有更改。

List<double[]>已替换为 List<Double> .

List现在拥有实例 Double 的元素

for(int i = 0; i < allNumbers.size(); i++)更改为for (Double allNumber : allNumbers)这只是一个基本的 for-each 循环。

老实说,我只会使用 java 8,我们可以在 1 行内完成此操作!

public static double calculateAll(List<Double> allNumbers) {
return allNumbers.stream().mapToDouble(e -> e / allNumbers.size()).sum();
}

关于java - 从 ArrayList 获取 double 的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53714340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com