我是Java的新学生(我在家学习),我试图从无法实现的代码开始解决此问题,问题说:
“假设您有五个输入值和“平均值”方法,请计算平均值方法中五个输入值的平均值,然后将其返回” 这是代码:
public class MyCalculator {
int input1 = 10;
int input2 = 20;
int input3 = 30;
int input4 = 40;
int input5 = 50;
public float average() {
// TODO: write java code to calculate the average for all input variables
return 0;
}
}
答案 0 :(得分:1)
这里有一个传统方式的示例:
public float average(int... inputs) {
long sum = 0;
for (int i : inputs) {
sum += i;
}
if (inputs.length == 0) {
return 0;
} else {
return (float) sum / inputs.length;
}
//return inputs.length == 0 ? 0 : (float) sum / inputs.length;
}
请注意,如以下说明所述,强制转换为
(float)
的重要性。
最优雅的 Java 8方式:
public float average(int... inputs) {
return (float) Arrays.stream(inputs).average().orElse(0);
}
您可以查看Integer division to float result以获得更好的解释和其他示例。
最后,您可以像这样使用它:
float result = average(input1, input2, input3, input4, input5);
此外,您可能想看看这篇文章:Java 8 Stream and operation on arrays。