В чем может быть проблема? Задача делает всё как надо, я специально не шерстил по инету и использовал только пройденный на данный момент материал. Валидатор пишет: 1. Программа должна вывести на экран все четные числа считанные из файла отсортированные по возрастанию.(Рекомендация от ментора: Программа выводит слишком много строк.) 2. Программа должна выводить данные на экран.
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
InputStream inStrm = new FileInputStream(br.readLine());
ArrayList arrl = new ArrayList<>();
String y = "";
while(inStrm.available() > 0) {
int x = inStrm.read();
if(x == 13 || x == 32) {
if(y != "" && Integer.parseInt(y) % 2 == 0)arrl.add(Integer.parseInt(y));
y = "";
}
if(x !=13 && x != 10 && x !=32) {
y += (char)x;
}
if(inStrm.available() == 0 && Integer.parseInt(y) % 2 == 0) arrl.add(Integer.parseInt(y));
}
inStrm.close();
y = null;
sort(arrl);
for(int i = 0; i < arrl.size(); i++) {
System.out.println(arrl.get(i));
}
}
public static ArrayList sort(ArrayList arrl) {
for(int j = 0; j < arrl.size(); j++) {
for (int i = 1; i < arrl.size(); i++) {
if (arrl.get(i) < arrl.get(i - 1)) {
int temp = arrl.get(i - 1);
arrl.set(i - 1, arrl.get(i));
arrl.set(i, temp);
}
}
}
return arrl;
}
}