gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:14:09 26 4
gpt4 key购买 nike

我在另一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com