gpt4 book ai didi

java - 从输入/文本文件中查找所有奇数和偶数的平均值

转载 作者:行者123 更新时间:2023-11-30 08:12:01 32 4
gpt4 key购买 nike

如标题所述,我一直在寻求创建一个程序,该程序将循环遍历文本/输入文件(数字),然后继续查找该文件中存在的奇数和偶数的平均值。

我目前已经设法创建了如下所示的内容,这导致能够找到奇数的平均值。但是,我似乎无法理解如何获得偶数的平均值。

我尝试关闭扫描仪,打开另一个扫描仪,再做一次,如果 else 像下面这样循环并且几乎尝试了相反的尝试,其他试图获得偶数平均值的尝试最终以输出为 NaN、0 或有时卡在 26 上(26 可能取决于我使用的输入文件,但当我手工计算时,数学/s 对于获得偶数平均值没有意义)

这已经困扰我一段时间了,想知道是否有人可以指出我如何获得平均水平以及我目前拥有的正确方向。

Scanner scan = new Scanner(AvgOddEven.class.getResourceAsStream("Numbers.txt"));

int count = 0, sum = 0, evenCount = 0, oddCount = 0;

while (scan.hasNextInt()) {
int number = scan.nextInt();
if (number % 2 == 0) // even numbers are detected here
evenCount++; //those detected are counted here.
else
oddCount++;
sum += number;
count++; //Counts all numbers in the text file
}

System.out.println("Sum divided by odd = average: " + sum / oddCount); //This gets me the average of odd numbers

下面是我使用的文本文件。 (很抱歉,它很长)

1
5
17
16
10
7
11
39
1
15
13

最佳答案

您的代码存在一些逻辑问题。您正在计算所有 个数字的总和,无论是偶数还是奇数,然后尝试只计算该数字的一个子集的平均值,这是行不通的。

您需要计算偶数和奇数的不同总和:

Scanner scan = new Scanner(AvgOddEven.class.getResourceAsStream("Numbers.txt"));

int count = 0, sumEven = 0, sumOdd = 0, evenCount = 0, oddCount = 0;

while (scan.hasNextInt()) {
int number = scan.nextInt();
if (number % 2 == 0) { // even numbers are detected here
evenCount++; //those detected are counted here.
sumEven+=number;
}
else {
sumOdd+=number;
oddCount++;
}
count++; //Counts all numbers in the text file
}

System.out.println("Average of odd numbers: " + sumOdd / oddCount);
System.out.println("Average of even numbers: " + sumEven / evenCount);

关于java - 从输入/文本文件中查找所有奇数和偶数的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30716939/

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