java - 计算列表奇数的平均值时出现问题

标签 java file average filewriter

我们的教授在一个文本文件中给了我们一个包含 982 个数字的列表,我们已经从该文件中读取了文本并打印出了有关这些数字的一些信息。到目前为止,我的一切都是正确的(她给了我们正确的答案),除了奇数的总数。我不知道如何获得奇数的平均值 48201.56。

我不断得到结果 97354,这很奇怪,因为我遵循的方法与查找所有数字的平均值和偶数的平均值相同。

        import java.io.*;
        import java.util.*;
        public class Homework1sem2
        {
           public static void main(String args[]) throws IOException
           {
              System.out.println("Student name: Ethan Creveling "
              + "\nEmail: ec904066@wcupa.edu");
              double f = 0;
              double e = 0;
              double d = 0;
              int c = 0;
              int b = 0;
              int a = 0;
              File myFile = new File("numbers.txt");
              Scanner inputFile = new Scanner(myFile);
              while (inputFile.hasNext())
              {
                 int i = inputFile.nextInt();
                 a++;
                 d += i;

                 if(i%2 == 0)
                 {
                    b++;
                    e += i;
                 }
                 else
                    c++;
                    f += i;
              }
              System.out.println("Total number: " + a);
              System.out.println("Total even number: " + b);
              System.out.println("Total odd number: " + c);
              System.out.println("Total average: " + d/a);
              System.out.println("Total even average: " +e/b);
              System.out.println("Total odd average: " + f/c);


           }


        }

我想知道为什么“总奇数平均值”的答案不是 48201.56。谢谢

最佳答案

您的 else 语句仅执行 c++; 操作。

将其括在括号中,如下所示:

else {
  c++;
  f += i;
}

关于java - 计算列表奇数的平均值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54293350/

相关文章:

java - 在 Mac 上使用 Java 运行 exec 文件

java - 在java中读取文件并将其内容放入二维数组中

java - 仅使用一个参数数组递归查找数组中的平均值

python - Python 中的平均函数

java - 如何在垂直盒子中正确堆叠形状? JavaFX

java - 计算地理点频率

java - 基于 Sim 的应用程序

c++ - 从自己的程序中获取程序元数据

string - PowerShell 中的多行字符串到单行字符串的转换

R:计算不规则的1分钟时间序列中的1小时平均值