Сортировка четных чисел из файла

  • 7
  • Недоступна
Если упорядоченный изоморф не уверен в трезвости другого упорядоченного изоморфа, он просит его пройти простенький тестик: сначала ввести имя файла с консоли, прочитать из него набор чисел, а затем вывести на консоль только четные, отсортированные по возрастанию. Получится?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (202)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Katruk Dima14 уровень
позавчера, 14:55
первая задача которую оставляю на потом
Сергей14 уровень
вторник, 20:34
Отличная задача на ввод-вывод, аналогичная заданию в " Философия Java" Эккеля (глава 18.Система ввода-вывода Java)
Nordis17 уровень, Санкт-Петербург
9 апреля, 21:12
Ухх полтора дня решал. 16 попыток. Никуда не подглядовал . Чисто сам мучал её. Конечно через FileReader решать проще я уложился в 18 строчек. И решил. Но Валидатор меня послал=). И тут началась Жопа). Грёбанный FileInputStream , думал я... Короче , 170 строчек кода. Проверяет значения от -30 000 000 до 20 000 000 Дальше я не стал делать , подумал что Валидатору должно хватить с головой. И Вуаля... Ура!!
Сергей14 уровень
вторник, 20:29
170 строчек кода - это круто, если использовать InputStreamReader для организации буфера чтения строк из файла -программа занимает всего 20 строчек
Сергей14 уровень
позавчера, 06:48
Опечатался - 10 строк.
Vladislav15 уровень
6 апреля, 10:23
Не мучайтесь с FileReader, валидатор не пропустит. Только FileInputStream. Учтите, что цифры могут повторяться.
Андрей20 уровень
2 апреля, 21:08
Зачем??? Зачем ее решать через inputstream, он сделан для двоичных преобразований. сделайте возможность решать ее через файл ридер.
Max Rabinovich19 уровень, Санкт-Петербург
2 апреля, 12:03
Для тех, кто забыл, как просто выводить содержимое ArrayList
list.forEach(System.out::println);
Anastasia15 уровень, Нижний Новгород
1 апреля, 15:23
Хорошая задача, 13 попыток)) упорно пыталась обмануть валидатор и решить через FileReader, не вышло)))
Hexronimo17 уровень
29 марта, 06:57
Разве не логичнее было бы использовать FileReader, в котором есть готовый метод для построчного чтения readLine()? Везде написано, что для чтения текстовых файлов используется FileReader, а FileInputStream используется, например, для картинок (т.е. когда содержание файла единый массив байтов, не предполагающий разбивки). Осталось чуство что в этой задаче нас просят сделать какой-то костыль.
Вадим17 уровень
22 марта, 20:07
Простой вариант через посимвольное чтение: 1) Заводим переменные String str, char ch и список ArrayList<Integer> list; 2) В цикле пока inStream.available() > 0 читаем символ и пишем его в ch; если это не '\n' и не '\r' - добавляем ch к нашей строке str; иначе - добавляем str как число в список list и очищаем str. Тут же можно проверять число на четность 3) Добавляем str в list (там может быть последнее число, оно записано в str, но не помещено в list), закрываем поток, сортируем пузырьком, выводим на экран Перед помещением str в list нужно проверять не пустая ли там строка
Георгий17 уровень, Львов
1 апреля, 22:24
if (ch >= 48 && ch <= 57 || ch == 45)
проверка, что символ - это число.
Дмтирий17 уровень, Москва
21 марта, 00:22
Ни в какую не хочет принимать пункт "Программа должна закрывать поток чтения из файла(FileInputStream)." Хотя поток закрыл -_-