результат корректный. проверял и со своим списком чисел, и с вариантом из задачи.
рекомендации от ментора:
Вывод не соответствует заданию. Проверь свое решение по примеру из условия.
package com.javarush.task.task13.task1326;
import java.io.*;
import java.util.*;
import static java.lang.Character.isWhitespace;
/*
Сортировка четных чисел из файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
// напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fis = new FileInputStream(reader.readLine());
ArrayList<Character> list = new ArrayList<>();
int data = fis.read();
char content;
//cчитываю инфу из файла ввиде символов и записываю их в Arraylist
while (data != -1) {
content = (char)data;
list.add(content);
data = fis.read();
}
//создаю второй список, чтобы переместить туда числа ввиде строки
ArrayList<String> list2 = new ArrayList<>();
StringBuilder num = new StringBuilder();
for (Character character : list) {
if (!isWhitespace(character)) {
num.append(character);
} else {
list2.add(num.toString());
num = new StringBuilder();
}
}
//удаляю ячейки строки, содержащие пробелы
for (int i = 0; i < list2.size(); i++) {
if (list2.get(i).equals("")) {
list2.remove(i);
}
}
//System.out.println("Размер списка2 составляет: " + list2.size());
//создаю третий список, чтобы инвертировать строку в int
ArrayList<Integer> numbers = new ArrayList<>();
for (String s : list2) {
numbers.add(Integer.parseInt(s));
}
for (int i = 0; i < numbers.size(); i++) {
if (numbers.get(i) % 2 != 0) {
numbers.remove(i);
i--;
}
}
//сортирую по возрастанию, вывожу в консоль результат. закрываю потом InputStream
Collections.sort(numbers);
for (Integer number : numbers) {
System.out.println(number);
}
fis.close();
}
}