В рекомендациях от ментора написано "Программа выводит слишком много строк."...это как понять? сколько в файле содержится - столько он прогоняет, отбрасывает нечётные и сортирует, в чём ошибка?
package com.javarush.task.task13.task1326;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
/**
* Сортировка четных чисел из файла
* 1. Ввести имя файла с консоли.
* 2. Прочитать из него набор чисел.
* 3. Вывести на консоль только четные, отсортированные по возрастанию.
*
* Пример ввода:
* 5
* 8
* -2
* 11
* 3
* -5
* 2
* 10
*
* Пример вывода:
* -2
* 2
* 8
* 10
*
*
* Требования:
* 1. Программа должна считывать данные с консоли.
* 2. Программа должна создавать FileInputStream для введенной с консоли строки.
* 3. Программа должна выводить данные на экран.
* 4. Программа должна вывести на экран все четные числа считанные из файла отсортированные по возрастанию.
* 5. Программа должна закрывать поток чтения из файла(FileInputStream).
Сортировка четных чисел из файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(reader.readLine()));
ArrayList<Integer> list = new ArrayList<>();
while (inputStream.available() > 0 ) {
int data = Character.getNumericValue(inputStream.read());
if (data % 2 == 0) {
list.add(data);
}
}
Collections.sort(list);
for (Integer value : list) {
System.out.println(value);
}
inputStream.close();
}
}