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