计算文件的平均值

时间:2015-03-27 21:57:00

标签: java file-io average

我有一个包含5列的文本文件,每列中有9个整数。 看起来像这样: 1 2 3 4 五 6 7 8 9 我使用File

将纺织品导入我的java程序
fileName = new File("Example1.txt");
Scanner inFile = new Scanner(fileName);

我想计算每列的平均值,我该怎么做?我在想

    int index;
            index = 0;
        if (inFile.hasNext()) {
                    do {
                        Example[index] = inFile.nextInt();
                        index++;

                    } while (inFile.hasNext());
                }
inFile.close();

我如何找到平均值?

3 个答案:

答案 0 :(得分:0)

一系列数字的平均值是它们的总和除以数字的数量。

这应该是一个简单的修改,从循环到存储数组,循环遍历每组5x9数字并计算每列的总数,然后除以(9 * numLines)。< / p>

int index = 0;
int numRows = 0;
int columnTotals[5];
while (inFile.hasNext()) {
    for (int col = 0; col < 5; col++) {
        for (int i = 0; i < 9; i++) {
            columnTotals[col] += inFile.nextInt();
        }
    }
    numRows++;
}
inFile.close();

for (int i = 0; i < 5; i++) {
    System.out.println(columnTotals[col]/(9*numRows));
}

答案 1 :(得分:0)

我没时间检查这个,所以可能有些不对劲。在您信任它之前测试它。

无论如何,考虑使用mod %来帮助简化这个问题。我大部分时间都在重用Beth的代码。

int index = 0;
int numRows = 0;
int columnTotals[5];
while (inFile.hasNext()) {
    columnTotals[index%5] += inFile.nextInt();
    index++;
}
inFile.close();
numRows = index / 5

for (int i = 0; i < 5; i++) {
    System.out.println(columnTotals[i]/(numRows));
}

请注意,最后一行是执行整数除法。您可能希望转换为双精度以获得更详细的平均值。

答案 2 :(得分:-1)

aver [x] =示例[x] .sum()/示例[x] .count()