Рассчитать средние значения из файла

1

У меня есть текстовый файл с 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();

Как мне найти среднее?

  • 0
    ... найти что он средний из чего?
  • 0
    @Matthias каждого из столбцов. Он заявляет это довольно четко
Показать ещё 3 комментария
Теги:
file-io
average

3 ответа

0

aver [x] = Пример [x].sum()/Пример [x].count()

0

У меня нет времени, чтобы проверить это, так что, вероятно, что-то не так. Проверьте это, прежде чем доверять ему.

В любом случае, подумайте об использовании 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));
}

Имейте в виду, что эта последняя строка выполняет целочисленное деление. Для получения более подробных средних значений вы можете использовать двойное значение.

0

Среднее число чисел - это их сумма, деленная на число чисел.

Это должно быть простой модификацией перехода от цикла и хранения чисел в массиве, для циклического прохождения каждого набора чисел 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));
}
  • 1
    ОП запрашивает средние значения по столбцам, а не средние по линиям.
  • 1
    Реальное решение будет включать два цикла. Один для каждой строки и один для каждого столбца в строке.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню