package com.javarush.test.level13.lesson11.bonus01;
import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.Arrays;
/* Сортировка четных чисел из файла
1. Ввести имя файла с консоли.
2. Прочитать из него набор чисел.
3. Вывести на консоль только четные, отсортированные по возрастанию.
Пример ввода:
5
8
11
3
2
10
Пример вывода:
2
8
10
*/
public class Solution
{
public static void main(String[] args) throws IOException, NullPointerException
{
// напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String read = reader.readLine();
InputStream inStream = new FileInputStream(read);
ArrayList list = new ArrayList(); //список цифр, которые мы потом будем сортировать, сортировать будем через list.remove, если нечет
StringBuilder stringBuilder = new StringBuilder(); //для пришивания
while(inStream.available() > 0) //вызываем по одному байту из файла
{
int data = inStream.read(); //читаем один байт
char data1 = (char) data; //переводим его в char, можно пришивать
stringBuilder.append(data1);
}
String a = (stringBuilder.toString());
StringTokenizer st = new StringTokenizer(a, " \t\n\r,.");
while (st.hasMoreTokens())
{
list.add(Integer.parseInt(st.nextToken()));
}
int[] array = new int[list.size()];
int i = 0;
for (Object text : list)
{
array[i] = (int) text;
i++;
}
Arrays.sort(array);
for (i = 0; i < array.length; i++)
{
if (array[i] % 2 == 0)
{
System.out.println(array[i]);
}
}
reader.close();
inStream.close();
}
}
Leave A Comment