java - 计算用户控制循环程序中的平均数

标签 java for-loop while-loop java.util.scanner

我在另一个 Java 程序上遇到了问题,而且可能是很小的问题,但由于某种原因,我无法理解问题是什么。类似的问题之前已经被提出过很多次,但它并没有给出这个程序所需的完全相同的东西,至少给出的答案没有帮助。

程序需要计算用户最初输入的一组数字的平均值。它被声明为inputNumber。然后程序询问用户指定的设定金额的每个数字。这是addedNumber,所有这些都加到一个总数,即numberSum,然后除以inputNumber得到总数的平均值,该值被声明为 numberAverage

例如:如果程序提示我要输入多少个数字,并且我输入 4 (inputNumber),则扫描仪会提示我输入数字 4 次 (addedNumber) code>),然后我输入 4 个数字,例如数字:2、3、6 和 1。这些数字相加为总和 12 (numberSum),然后除以得到4 个数字的平均值 (numberAverage)。

计数器i将计算提示用户的次数,直到达到用户输入的计算次数,该计数器在for中单独声明环形。整个程序发生在 while 循环中,直到用户输入 0 作为 inputNumber 的值,这将打破循环并终止程序。

代码如下:

import java.util.Scanner;
/**
 * Write a description of class AverageNumbers here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class Average2
{
    public static void main ()
    {
        int inputNumber;
        double numberSum = 0;

        Scanner scan = new Scanner(System.in); 

        while (true) {
            System.out.print("Please enter the amount of numbers you want to be calculated. (0 to quit): ");
            inputNumber = scan.nextInt();

            if (inputNumber == 0) {
                System.out.println("Program Ended");
                break; 
            }
            for ( int i = 0; i < inputNumber; i++) {
                System.out.print("Please enter a value:" );

                double addedNumber = scan.nextInt();
                numberSum += addedNumber;
            }

            double numberAverage = numberSum/inputNumber;

            System.out.println("Average: " + numberAverage);
        }
    }
}

但问题是:

Loop Error

正如您所看到的,只有循环的第一部分获得了正确的平均值,但第二次循环却没有。我被困住了,循环应该如何进行,以便每次都能正确计算平均值,而不仅仅是第一次。我认为这与初始化有关,但将变量初始化为 01-1 没有帮助。另外,将变量设置为 0 会使程序永远不会运行,因为这是停止它的条件。如果这恰好是一个简单的初始化错误,有人可以解释一下代码出了什么问题,而不是说这个问题之前已经被问过吗?

最佳答案

所编写的代码给出了您输入的每个数字的平均值,而不仅仅是刚刚输入的组的平均值。

您需要在每组数字的开头“重置”numberSum (numberSum = 0;)。

关于java - 计算用户控制循环程序中的平均数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49523537/

相关文章:

java - Java 中的递归 - 划分理论

java - DO.. WHILE.. 使用 SWITCH 菜单

python - 如何使用 Pillow 模块将列表中的图像组粘贴到基础图像之上?

java - 如何查找网格中 Flower 对象的数量?

java - 在scala中实现泛型通用接口(interface)

python - 在多个 For 循环中追加到类列表

php - 为什么 count 比 $count 差

java - try catch 异常 while 循环

java - 关于修饰符的内存问题

java - 求 2000000 以下的素数之和