如何为平均计算器编写Java代码

问题描述 投票:-5回答:1

我是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; 
 }
}
java average calculator
1个回答
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)的重要性,如下所述:Integer division to float result


这里以最优雅的Java 8方式:

public float average(int... inputs) {
    return (float) Arrays.stream(inputs).average().orElse(0);
}

您可以查看Java 8 Stream and operation on arrays以获得更好的解释和其他示例。


最后,您可以像这样使用它:

float result = average(input1, input2, input3, input4, input5);

另外,你可能想看一下这篇文章:Java, 3 dots in parameters

© www.soinside.com 2019 - 2024. All rights reserved.