我有一个包含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();
我如何找到平均值?
答案 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()