Не пойму что ему не нравится. Всё выводится на экран, как положено.
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
InputStream fileReader = new FileInputStream(fileName);
StringBuilder builder = new StringBuilder();
while (fileReader.available() > 0) {
int n = fileReader.read();
char ch = (char) n; //преобразовуем байт в символ
if(ch > 47 && ch < 58) //если символ - цифра,
builder.append(ch); //то добавляем его в StringBuilger
else builder.append(" "); //иначе добавляем в StringBuilger пробел
}
fileReader.close(); //закрываем потоки
reader.close();
for (int i = 0; i < builder.length() - 1; ) { //удаляем лишние пробелы
if (builder.charAt(i) == ' ' && builder.charAt(i+1) == ' ')
builder.deleteCharAt(i);
else i++;
}
String fileInString = builder.toString().trim(); //преобразуем StringBuilger в строку
String[] stringArray = fileInString.split(" "); //строку - в массив подстрок по разделителю "пробел"
ArrayList<Integer> numbers = new ArrayList<>();
for (String s : stringArray) { //строки из массива
int n = Integer.parseInt(s); //преобразуем в числа
if (n%2 == 0) //если число чётное
numbers.add(n); //добавляем его в список чисел
}
Collections.sort(numbers); //сортируем список чисел
for (Integer i : numbers)
System.out.println(i); //выводим на экран
}
}