Бонусное задание | 11 лекция | 8 уровень

8 уровень, 11 лекция
Открыта

— Здорово, боец!

— Здравия желаю, товарищ капитан!

— У меня для тебя шикарная новость. Вот тебе задания для закрепления полученных навыков. Выполняй их каждый день, и твои навыки будут расти с неимоверной скоростью. Они специально разработаны для выполнения их в Intellij IDEA.

10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Английские буквы
В метод main первым параметром приходит имя файла. Посчитать количество букв английского алфавита, которое есть в этом файле. Вывести на экран число (количество букв). Закрыть потоки.
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Пробелы
В метод main первым параметром приходит имя файла. Вывести на экран соотношение количества пробелов к количеству всех символов. Например, 10.45. 1. Посчитать количество всех символов. 2. Посчитать количество пробелов. 3. Вывести на экран п2/п1*100, округлив до 2 знаков после запятой. 4. Закрыть пото
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Два в одном
Считать с консоли 3 имени файла. Записать в первый файл содержимого второго файла, а потом дописать в первый файл содержимое третьего файла. Закрыть потоки.
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Объединение файлов
Считать с консоли 2 имени файла. В начало первого файла записать содержимое второго файла так, чтобы получилось объединение файлов. Закрыть потоки.
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Округление чисел
Считать с консоли 2 имени файла. Первый файл содержит вещественные(дробные) числа, разделенные пробелом. Например, 3.1415. Округлить числа до целых и записать через пробел во второй файл. Закрыть потоки. Принцип округления: 3.49 => 3 3.50 => 4 3.51 => 4 -3.49 => -3 -3.50 => -3 -3.51 => -4
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Встречаемость символов
Программа запускается с одним параметром - именем файла, который содержит английский текст. Посчитать частоту встречания каждого символа. Отсортировать результат по возрастанию кода ASCII (почитать в инете). Пример: ','=44, 's'=115, 't'=116. Вывести на консоль отсортированный результат: [символ1] ча
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Поиск данных внутри файла
Считать с консоли имя файла. Найти в файле информацию, которая относится к заданному id, и вывести ее на экран в виде, в котором она записана в файле. Программа запускается с одним параметром: id (int). Закрыть потоки. В файле данные разделены пробелом и хранятся в следующей последовательности: id
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Нити и байты
Читайте с консоли имена файлов, пока не будет введено слово "exit". Передайте имя файла в нить ReadThread. Нить ReadThread должна найти байт, который встречается в файле максимальное число раз, и добавить его в словарь resultMap, где параметр String - это имя файла, параметр Integer - это искомый ба
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Файлы и исключения
Читайте с консоли имена файлов. Если файла не существует (передано неправильное имя файла), то перехватить исключение FileNotFoundException, вывести в консоль переданное неправильное имя файла и завершить работу программы. Закрыть потоки. Не используйте System.exit();
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Собираем файл
Собираем файл из кусочков. Считывать с консоли имена файлов. Каждый файл имеет имя: [someName].partN. Например, Lion.avi.part1, Lion.avi.part2, ..., Lion.avi.part37. Имена файлов подаются в произвольном порядке. Ввод заканчивается словом "end". В папке, где находятся все прочтенные файлы, создать фа

— Те задания были для духов. Для дедушек я добавил бонусные задания повышенной сложности. Только для старослужащих.

10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Шифровка
Придумать механизм шифровки/дешифровки. Программа запускается с одним из следующих наборов параметров: -e fileName fileOutputName -d fileName fileOutputName где: fileName - имя файла, который необходимо зашифровать/расшифровать. fileOutputName - имя файла, куда необходимо записать результат шифрова
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Прайсы
CrUD для таблицы внутри файла. Считать с консоли имя файла для операций CrUD. Программа запускается со следующим набором параметров: -c productName price quantity Значения параметров: где id - 8 символов. productName - название товара, 30 символов. price - цена, 8 символов. quantity - количе
10
Задача
Java Core,  8 уровень,  11 лекция
Недоступна
Прайсы 2
CrUD для таблицы внутри файла Считать с консоли имя файла для операций CrUD Программа запускается с одним из следующих наборов параметров: -u id productName price quantity -d id Значения параметров: где id - 8 символов productName - название товара, 30 chars (60 bytes) price - цена, 8 символов quant
Комментарии (145)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
14 января, 22:36
Вот на такой проверке валидатор ломается! if (args.length != 1) { System.out.println("В качестве аргумента необходимо передать имя файла."); System.exit(1); }
Andrii Gorshunov26 уровень
15 декабря 2018, 22:19
Округление чисел: обычное округление используется Math.round. Пока интересовался, нашел еще разные способы округления через RoundingMode. Для представления: в файле1 числа записаны так: 3.1415 3.49 3.50 3.51 -3.49 -3.50 -3.51 Поиск данных внутри файла: вывод должен быть полной строки вместе с id. Почему-то валидатор не принял решение через HashMap<Integer,String>... и извелкал из строчки все до первого пробела(т.е ID ) начинает выбешивать уже и аргументы как я понял это Строковый параметр: String par = args[0]; Собираем файл. Прикольная задача, я перемудрил, извлекал папку и все такое. Пришлось переделывать из подсказок в комментах. Полагаться на валидатор вообще нет смысла. так как он ругался что надо вводить пока не будет слова end, а удалил строчку myFile.createNewFile(); и все сработало пзц. 8914 решило, не удивляюсь уже.. Шифровка. "-e" -- тут просто при записи добавьте один байт, а при "-d " при записи отнимите один байт (использовать byte[] buffer) Прайсы: Код для добавления пробелов нашел в инетрнете, а остальное можно уже самому допереть.
public static String padRight(String input, int length) {
    if (input.length() < length) {
        return String.format("%1$-" + length + "s", input); // %1$ refers to the first substitution.
    } else {
        return input.substring(0, length);
    }
}
Прайсы 2 решаются отлично через ArrayList. Создаем да метода(на перезапись и удаление). Методы похожи. Считываем файл, записываем его в Список. Делаем проверку по индексу: if (lineItemID.equals(id)), сохраняем индекс и по индексу подменяем нашу строчку с пробелами. Потом тупо перезаписываем файл содержимым списка. PS: какие странные(ленивые) описания задач. Не примеров вывода, ничего. Как вроде сложно дописать 1 пример ввода, 1 пример вывода. Очень жесткий блок. Двигаемся дальше
Эдуард28 уровень, Минск
25 ноября 2018, 10:26
Task 1819. Задачу сделал(валидатор принял), однако в действительности у меня этот код не работает. Первый файл не перезаписывает свои значения в себя. Странно
HeartHeater23 уровень, Москва
1 декабря 2018, 11:46
Аналогичная проблема, с задачей1828. Просто трет данные и все, но валидатор принял. Если взять два отдельных файла, то все работает. Так и не понял, в чем дело
denis27 уровень, Минск
8 декабря 2018, 20:19
Та же ерунда была. Использовал try с ресурсами. Потом просто в самом блоке try перед записью в файл создал поток для записи, записал и явно его закрыл. Возможно было из за создания потока на чтение и запись одновременно.
RuslanN27 уровень, Нижний Новгород
8 декабря 2018, 21:32
Потому что при создании потока записи FileOutputStream он трет данные в файле. Поэтому либо: - Создавайте его после того как считали данные из файла -после назначения пути ставьте флаг true. FileOutpetStream out = new FileOutputStream("path",true)
Vadim Krant22 уровень, Москва
5 ноября 2018, 21:44
Отличный курс! Задачи с прозрачным валидатором который не приподносит особо проблем (раньше было хуже) Я растянул этот пакет задач аж на целый месяц. и решал по одной задаче раз в 3-4 дня. Но половина задач у меня заходила как правило на пол дня каждая (с перерывами). Странно что шифровка со * отмечена, я бы их со склейкой поменял бы местами, склейка по моему одна из самых трудных.
DancingShaman23 уровень
5 ноября 2018, 18:45
У меня ещё так ярко пукан не горел, как на этих задачах.
11 октября 2018, 21:00
Прайсы, возможно кому то поможет (без спойлеров): 1. Проверяйте локально граничные условия (максимальные/минимальные значения, максимальные/минимальные длины строк и т.п.). Хитрый валидатор как только не проверяет) 2. Использовать лучше try-with-resources. Облегчает диагностику ошибки при исключениях. 3. Очередное противоречие в условии. В описании сказано, что quantity - количество, 4 символа. Хотя в примере в 1 и 2 строках quantity не дополняется пробелами. Правильно - дополнять пробелами до 4х символов.
Andrew Klimov20 уровень, Москва
5 октября 2018, 13:58
Немного не справедливо получается.. Иную задачу можно решить несколькими способами, а валидатор принимает только одну версию. По итогу технически задача решена, тимлид доволен, а Заказчик не принимает)) А в условии нет дополнительных вводных каким способом нужно решать. Класс Files пакета Java.nio так вообще угроза системе безопасности JavaRush))))
Markouski Andrei22 уровень
8 октября 2018, 16:45
очень долго не мог понять, почему не принимает решение задачи "Прайсы 2". тоже делал с классом File. необходимо делать через коллекции, хотя в условии этого не сказано.
Vadim Krant22 уровень, Москва
5 ноября 2018, 21:45
Задача прайсы2 была решена мною без коллекций.
AndrewY25 уровень, Москва
5 октября 2018, 09:42
На Прайсах валидатор накрылся :( Выдает Internal Server error. и в IDEA и на сайте...
Евгений Бондаренко28 уровень, Минск
23 сентября 2018, 19:44
Прайсы2 - 33 строчки) и это целиком с импортом, названием задачи в каментах и т.д.
Надя22 уровень
23 августа 2018, 22:51
Я уже не знаю какой вариант Прайсов и Прайсов-2 пускаю на проверку. Валидатор матерится. Наверное, это неправильно, когда на на головную боль игры с валидатором тратится значительно больше времени, чем на само решение задачи.