gpt4 book ai didi

java - 取用户输入数量的平均值

转载 作者:行者123 更新时间:2023-12-02 07:39:59 25 4
gpt4 key购买 nike

这是我的代码

import java.util.*;
import java.io.*;

public class eCheck10A
{
public static void main(String[] args)
{
PrintStream out = System.out;
Scanner in = new Scanner(System.in);

out.print("Enter your integers");
out.println("Negative = sentinel");

List<Integer> aList = new ArrayList<Integer>();



for (int n1 = in.nextInt(); n1 > 0; n1 = in.nextInt())
{
if(n1 < 0)
{
break;
}
}


}
}

如果我想获取为 n1 输入的所有数字,并将它们平均,我如何引用所有这些数字?我将把它们放在 IF 语句中,因此如果输入负数,程序就会停止并发布它们的平均值。

最佳答案

这是完成此任务所需的伪代码(伪代码,因为它看起来可疑地像家庭作业/类作业,如果您自己完成实现,您将成为更好的开发人员)。

因为您不需要数字本身来计算平均值,所以存储它们没有意义。平均值定义为所有数字的总和除以计数,因此您需要记住的就是这些。像这样的东西应该足够了:

total = 0
count = 0
n1 = get_next_number()
while n1 >= 0:
total = total + n1
count = count + 1
n1 = get_next_number()
if count == 0:
print "No numbers were entered.
else:
print "Average is ", (total / count)
<小时/>

我要提到的其他几点。就目前情况而言,您的 for语句将在第一个非正数 ( <= 0 ) 处退出,使得 if多余的。

此外,您可能希望平均值中包含任何零:{1,2,3} = 2的平均值与{1,2,3,0,0,0} = 1的平均值不一样.

您可以在 for 中执行此操作声明本身类似于:

for (int n1 = in.nextInt(); n1 >= 0; n1 = in.nextInt())

然后你就不需要 if/break完全位于循环内部,类似于我提供的伪代码。

关于java - 取用户输入数量的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11732171/

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