java for 循环总和与范围平均值

标签 java

我已经计算了 for 循环范围的总和,但是我不知道如何计算并为我的解决方案求平均值。 必须在没有任何如果的情况下完成它。只是 For 循环:

//defining the variables
        // Constants & Variables here
int i;
int numStart;
int numEnd;
double sum = 0;
double average=0;
double loopCount=0;
System.out.print("Enter Start number: "); // keep print line open
numStart = console.nextInt();

System.out.print("Enter End number: ");
numEnd = console.nextInt();

        //enter thevalue
        for (i = numStart; i <= numEnd; i++ )
        {
            sum = sum + i;
            loopCount = numEnd - numStart;
            average = sum+1 / i;


        }
        System.out.println();
        System.out.println( "Sum is: " + sum);
        System.out.println();
        System.out.println( "Average is: " + average);
        System.out.println();

最佳答案

为什么还要使用for循环。感谢高斯,我们知道 [1 , n] 范围内所有元素的总和为 n * (n + 1)/2。范围内的整数数量就是numEnd - numStart + 1,平均值是范围内所有整数的总和除以范围内的整数数量。

因此优化的解决方案如下所示:

...
//got numStart and numEnd
int sum = numEnd * (numEnd + 1) / 2 - (numStart - 1) * numStart / 2;
int count = numEnd - numStart + 1;
average = sum / count;

关于java for 循环总和与范围平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32920579/

相关文章:

java - 添加 Junit setup/@Before 逻辑而不更改代码?

java - 使用 Java 函数式编程简化 if-else 条件

java - 如何在 list 中多次检入GSP Grails

java - 设置 : Spring boot + jpa + postgresql

java - Android 无法在内部存储上创建目录

java - Jmeter中的RemoteJMeterEngineImpl类,如何创建实例并调用rconfigure

java - 使用 JMSTIMESTAMP 在 MQ QUEUE 中获取消息

java - JMap.java - 尝试连接到调试服务器时超时 - SwDbgSrv.exe

java - Upstart 在另一项工作开始并正在运行后延迟开始工作

java - Java 中何时实际发生内存不足异常?