У меня есть текстовый файл с 5 столбцами, 9 ints в каждом из столбцов. Похоже на это: 1 2 3 4 5 6 7 8 9 Я импортирую текстиль в свою программу java, используя File
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();
Как мне найти среднее?
aver [x] = Пример [x].sum()/Пример [x].count()
У меня нет времени, чтобы проверить это, так что, вероятно, что-то не так. Проверьте это, прежде чем доверять ему.
В любом случае, подумайте об использовании mod %
чтобы упростить эту проблему. Я в основном повторно использую код Бета.
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));
}
Имейте в виду, что эта последняя строка выполняет целочисленное деление. Для получения более подробных средних значений вы можете использовать двойное значение.
Среднее число чисел - это их сумма, деленная на число чисел.
Это должно быть простой модификацией перехода от цикла и хранения чисел в массиве, для циклического прохождения каждого набора чисел 5x9 и вычисления общего для каждого столбца, а затем деления в конце на (9 * numLines).
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));
}