当前位置: 首页 > 知识库问答 >
问题:

计算列表奇数的平均值有问题

党航
2023-03-14

我们的教授在一个文本文件中给了我们一份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。谢谢

共有2个答案

宗政燕七
2023-03-14

f=i;在else语句之外执行,这意味着它在while的每个循环中都被调用。如果您检查您的值,您应该会发现f和d都是相同的值。

如果您将else语句封装成如下形式,这应该可以解决问题

else {
  c++;
  f += i;
}
姬奇思
2023-03-14

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

用这样的括号把它包起来:

else {
  c++++;
  f += i;
}
 类似资料:
  • 问题内容: 我正在尝试使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它无法正常工作。假设用户输入7、4和5,该程序在应显示5.3时显示平均值。 代码有什么问题? 问题答案: 当您拥有增强的for循环时,为什么还要对索引使用笨拙的for循环?

  • 我试图使用下面的代码来计算用户输入的一组值的平均值,并将其显示在中,但它不能正常工作。例如,用户输入7、4和5,程序显示1作为平均值,而它应该显示5.3

  • 我需要写一个程序来计算用户输入的整数的奇偶平均数。用户键入“完成”以完成。输出将显示奇数的平均值和偶数的平均值。 我有一个while循环程序,可以计算数字的和,我正试图增加奇数和偶数和的额外要求。这是代码: 下面是我修改的代码,对奇数和偶数进行排序,然后对每组进行平均。 预期: 实际:

  • 问题内容: 我有一个表,其中包含一列要从中提取信息的JSON数据。具体来说,我只想获取平均值。 我所拥有的例子: 我想要的例子: 关于如何使该查询正常工作的任何建议? 问题答案: 您的json数组被弄乱了,就像@poszcommented一样。必须是: 您的查询也以多种方式扭曲。在第 9.3 页中将像这样工作: SQL提琴。 在即将到来的pg 9.4中, 我们可以使用新的来简化操作(转换中也不太容

  • 问题内容: 任何人都知道如何计算这些列之一的平均值(在Linux上)? 例如:mean(第2栏) 问题答案: Awk: 读为: 对于每一行,将第2列添加到变量“总计”中。 在文件末尾,打印“总计”除以记录数。

  • 我想返回一个函数,它给出所有或更多标记的平均值。当我运行代码时,它总是返回一个空列表。 以下是我尝试过的: 请帮我找出代码中的问题,输出应该是。