gpt4 book ai didi

java - 查找数字的平均值(使用 while 循环;java)

转载 作者:行者123 更新时间:2023-11-29 09:37:35 26 4
gpt4 key购买 nike

我的代码在用户输入 -1 时停止(就像它应该的那样)但打印的平均值是错误的。

这是我的:

import static java.lang.System.*;
import java.util.Scanner;
import java.util.*;

class averages_1
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Enter the scores:");
double score = 0;
double num = 0;
double sum = 0;

while (score != -1)
{
score = scan.nextDouble();
sum += score;
num++;
}
System.out.println("The average is:" + (sum/num));
}

}

如果输入 50 然后 105 然后 -1,输出是

Enter the scores:

50

105

-1

The average is: 51.333333333333336

我只需要修正平均值。感谢您的帮助!

最佳答案

您在平均值中包含了 -1。

避免它的一种方法是添加另一个条件:

while (score != -1)
{
score = scan.nextDouble();
if (score != -1) {
sum += score;
num++;
}
}

然而,更优雅的解决方案是在循环之前读取第一个输入,并且只添加有效输入:

score = scan.nextDouble();
while (score != -1)
{
sum += score;
num++;
score = scan.nextDouble();
}

一般来说,更改 while 循环条件中使用的变量应该是您在迭代中做的最后一件事。

关于java - 查找数字的平均值(使用 while 循环;java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278601/

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