在foreach循环中可能有损转换浮点数为int

时间:2017-11-16 14:19:35

标签: java foreach type-conversion

我试图编写下面的代码来计算数组中所有数字的平均值,我们应该使用foreach-loop! 问题是编译器告诉我第3行中从float到int的有损转换(“for(int k:numbers)”)。

将k转换为float不起作用,转换数字不起作用('f course),并且其他所有内容似乎也不起作用! 问题在哪里,请帮忙!

提前致谢!

float calculateAverage(float[] numbers){
    float a = 0.0f;
    for(int k: numbers){
        (a) = a+numbers[k];
    }
    return a/(numbers.length-1);

}

1 个答案:

答案 0 :(得分:0)

因此,您可以依次在numbers中保留k的每个元素,并将其添加到a中。然后返回a的值除以数组中元素的数量:

float calculatedAverage(float[] numbers){
    float a = 0.0f;
    for (float k : numbers) {
        a += k;
    }
    return a / numbers.length;
}

增强型for循环不使用计数器变量,因此无需使用索引访问numbers[]