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

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

— Привет, Амиго! Хватит бездельничать! Вот твои задания, они посложнее будут, чем предыдущие, и точно улучшат твой процессор. А нам ведь это и нужно. Если вдруг возникнут трудности, то обращайся к коллегам, они точно помогут.

12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Считаем зарплаты
В метод main первым параметром приходит имя файла. В этом файле каждая строка имеет следующий вид: имя значение где [имя] - String, [значение] - double. [имя] и [значение] разделены пробелом. Для каждого имени посчитать сумму всех его значений. Все данные вывести в консоль, предварительно отсортиро
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Самый богатый
В метод main первым параметром приходит имя файла. В этом файле каждая строка имеет следующий вид: имя значение где [имя] — String, [значение] — double. [имя] и [значение] разделены пробелом. Для каждого имени посчитать сумму всех его значений. Вывести в консоль имена в алфавитном порядке, у которых максимальная сумма.
20
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Хуан Хуанович
В метод main первым параметром приходит имя файла. В этом файле каждая строка имеет следующий вид: имя день месяц год где [имя] - может состоять из нескольких слов, разделенных пробелами, и имеет тип String. [день] - int, [месяц] - int, [год] - int данные разделены пробелами. Заполнить список PEOPL
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Ищем нужные строки
Давайте найдем нужные нам строки, и вот что мы должны для этого сделать. Считать с консоли имя файла. Вывести в консоль все строки из файла, которые содержат всего 2 слова из списка words. Закрыть потоки.
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Слова с цифрами
В метод main первым параметром приходит имя файла1, вторым - файла2. Файл1 содержит строки со словами, разделенными пробелом. Записать через пробел в Файл2 все слова, которые содержат цифры, например, а1 или abc3d. Закрыть потоки.
20
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Замена чисел
В статическом блоке инициализируйте словарь map парами [число-слово] от 0 до 12 включительно. Считайте с консоли имя и содержимое файла. Замените все числа на слова используя словарь map. После этого выведите результат на экран и закройте потоки.
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Длинные слова
В метод main первым параметром приходит имя файла1, вторым — файла2. Файл1 содержит слова, разделенные пробелом. Записать через запятую в Файл2 слова, длина которых строго больше 6. В конце файла2 запятой не должно быть. Закрыть потоки.
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Перевертыши
1. Считать с консоли имя файла. Считать содержимое файла. 2. Для каждой строки в файле: 2.1. переставить все символы в обратном порядке. 2.2. вывести на экран. 3. Закрыть потоки. Пример тела входного файла: я - программист. Амиго Пример результата: .тсиммаргорп - я огимА
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Контекстная реклама
В методе main подмени объект System.out написанной тобой реадер-оберткой. Твоя реадер-обертка должна выводить на консоль контекстную рекламу после каждого второго println-а. Вызови готовый метод printSomething(), воспользуйся testString. Верни переменной System.out первоначальный поток. Рекламный т
12
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Исправить ошибку. Классы и интерфейсы
И снова вам предстоит рыться в чужом коде и искать ошибку. В этой программе есть всего одна логическая ошибка. Найдите и исправьте её.

— Ты уже всё сделал? Вот тебе ещё и бонусные задания повышенной сложности:

20
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Отслеживаем изменения
Считайте с консоли два имени файла — file1, file2. Эти файлы содержат строки, причём file2 является обновленной версией file1, часть строк совпадают. Создайте объединенную версию строк и запишите их в список lines.
20
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Свой FileWriter
Реализовать логику FileConsoleWriter. Класс FileConsoleWriter должен содержать приватное поле FileWriter fileWriter. Класс FileConsoleWriter должен содержать все конструкторы, которые инициализируют fileWriter для записи. При записи данных в файл, должен дублировать эти данные на консоль.
20
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Знакомство с тегами
Считайте с консоли имя файла, который имеет HTML-формат. Первым параметром в метод main приходит тег. Например, «span». Вывести на консоль все теги, которые соответствуют заданному тегу. Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле. Количество пробелов, n, r не влияют на результат.
Комментарии (179)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Павел Ермишин20 уровень, Москва
29 April, 01:10
все пишут про то, кто как решает - я же сначала, после прочитанного задания, прокручиваю в голове какие конструкции в коде буду использовать, а потом уже начинаю решать, чего и Вам советую!
Dmitry Panfilov28 уровень, Kurgan
15 April, 06:56
кто будет мучить парсинг через jsoup, там нужен именно XMLпарсинг Document doc = Jsoup.parse(htmlDoc,"", Parser.xmlParser());
SleLLl27 уровень, Минск
21 April, 13:17
напиши подробнее как ты делал
AlinaAlina23 уровень, Санкт-Петербург
8 May, 21:49
https://javarush.ru/help/23108
Евгений31 уровень, Москва
6 April, 15:45
эти задачи - отличная демонстрация поговорки "без четкого ТЗ результат всегда ХЗ" на практике. Из-за нечетко сформулированных заданий потратил кучу времени и нервов, и только комментарии помогали понять, что же требуется. Тестирую код, придумываю самые хитрые кейсы, все работает как нужно, а валидацию не проходит. Поэтому не стесняемся, смотрим сразу комментарии (не решения! а именно комментарии), иначе мучений будет много. С другой стороны, это подготовка к реальной работе программистом. Вся жизнь программиста состоит из кривых и нечетких ТЗ, это его основная головная боль, и JavaRush нас сразу к этому приучает :)
Владислав30 уровень
10 April, 19:19
Возможно, что не самые хитрые кейсы были придуманы. Все решается без подглядок, условия достаточно подробные.
Евгений31 уровень, Москва
13 April, 16:39
ну где же подробные-то? что понимается под "словом", например? любые наборы символов между пробелами? только буквы? какие-то определенные символы? на первый взгляд, слова состоят только из букв, но метод перебора показал, что имелись ввиду именно любые наборы символов между пробелами, причем запятая НЕ СЧИТАЕТСЯ разделителем слов, если после нее не следует пробел. Как прикажете догадываться, что имелось ввиду? В задаче "Отслеживаем изменения" вообще непонятно, как оно может работать без пустых строк. Без прочтения комментариев даже приступить к этой задаче не получается. И еще раз уточню, что я не призываю смотреть в решения. Только читать комментарии, помогающие понять условие задачи.
Владислав30 уровень
13 April, 18:07
Я решил без подглядок. Каждую задачу можно так решить. Я, например, на эту задачу с отслеживанием изменений угробил дня два. Но решил. Также и с остальными. Я заметил, что решение приходит в голову всегда, когда-то позже, когда-то раньше, как повезет (от уровня знаний зависит тоже, конечно). Но решение приходит рано или поздно. Я пользуюсь приложениями, которые насильно отталкивают меня от экрана каждые 20 минут. Нехотя, я отхожу от монитора, но в этот промежуток приходит новая идея. И она может стать решением. Так происходит постоянно. Первые 20 минут я просто смотрю в экран, пытаюсь понять, что конкретно от меня хотят. Потом меня компьютер отгоняет тапком, и в этом перерыве мысли структурируются, и я начинаю понимать. Попробуй, может сработает.
Евгений31 уровень, Москва
14 April, 10:03
вы не видите разницы между "не могу решить" и "не понимаю условие"? В первом случае вы все делаете правильно. Но мне были именно непонятны условия, а без их понимания начать решать невозможно, сколько дней ни сиди. Как только условие становилось понятным, я решал задачи без проблем.
Владислав30 уровень
14 April, 16:47
Так понимание придет, только не сразу) Сперва ты один нюанс заметишь, потом другой... И так далее, пока не познаешь дзен. Я проверил это утверждение на всех задачах. Не подглянул ни за одной задачей, кроме той единственной, что в конце 6 уровня, когда мы еще не проходили массивов, а она была, как мне казалось, как раз на них. На некоторые задачи у меня ушел не один день (таких было много).
Роман26 уровень, Новосибирск
15 April, 06:40
Сколько времени вы до 20 уровня шли , если на некоторые задачи по нескольку дней уходит?
Владислав30 уровень
15 April, 07:27
С конца декабря, то есть 3 месяца с небольшим. Занимался 3 дня в неделю (остальные работал), с середины марта 2/2 начал заниматься.
Евгений31 уровень, Москва
15 April, 10:11
в решения я тоже не подглядывал, прошу читать внимательно.
Dmitry22 уровень
12 May, 07:46
Евгений, не тратьте время. Человек не хочет вас услышать, у него все в конечном итоге получается, поэтому он считает, что проблемы нет. На самом деле она конечно есть. Аналогично, была одна задача, когда условие можно было по-разному интерпретировать. Прочитав задание, я мог по-разному интерпретировать 2 или 3 пункта условия. На каждый пункт условия было по 2-3 варианта трактовки. Итого существовало от 4 до 27 варианта решения задачи, каждый из которых формально удовлетворял бы условие, но скорее всего формально не удовлетворял бы валидатор =). Познавая дзен, как советует Владислав, я мог бы решить задачу на 5-ой, 10-ой, 27-ой итерации и радоваться, что я с ней справился. Но мне кажется это нерациональным, ведь в этом нет какого-то глубокого смысла, который нужно постичь. Просто зачастую условие написано "наскоряк", исходя из того, что некие вещи "очевидны". Первая ошибка коммуникации заключается именно в этом, когда один думает, что для других что-то очевидно. В итоге приходится тратить много времени на ненужные или непродуктивные вещи, которых можно было избежать. У меня к сожалению очень мало времени на javarush,и я не могу себе позволить несколько дней в неделю на обучение. А по правде, и одного не могу. Поэтому тоже бесит =))
Андрей 20 уровень, Москва
5 April, 19:23
Кто решил задачу про тэги html с помощью jsoup - нужна ваша помощь, погуглил и так и не понял, как получать содержание вместе с тэгами, или я тэги дописываю сам а текст просто выдергиваю? Кто сделал, можно пример в студию плз?
Дмитрий Чесноков26 уровень, Санкт-Петербург
11 April, 15:36
Андрей 20 уровень, Москва
12 April, 11:22
Спасибо, задачу правда давно решил методом тыка с Jsoup, но статья интересная)
Максим26 уровень, Клин
24 March, 14:17
Долбите регулярки, хотя бы поверхностно, без них тяжело.
Евгений31 уровень, Москва
6 April, 15:47
конкретно в данных задачах с регулярками даже хуже. Наступил на такие глубоко скрытые грабли, о которых не знал, хотя уже 2 года пишу проектный код на Джаве. Не надо пытаться быть самым умным, эти задачи спокойно решаются и без регулярок, при этом еще и меньше подводных камней.
Максим26 уровень, Клин
7 April, 06:59
Решил все задачи с помощью регулярок, быстро и просто, за одно и подтянул их. В каком месте я строю из себя самого умного, мне не понятно, скорее тот, кто упомянул свои "2 года проектного кода", пытается быть самым умным. Никто не говорит, что нельзя решать по-другому, но так просто и полезно для общего развития. Так что отвечу вам вашими же словам, не надо пытаться быть самым умным.
Евгений31 уровень, Москва
7 April, 09:50
если "все", то задачу "Исправить ошибку. Классы и интерфейсы" тоже решили с помощью регулярок? :) смешно. да, здесь есть задачи, которые лучше решаются с помощью регулярок. Но далеко не все, в некоторых регулярки только во вред, а без них решение проще и короче. Если вы не знаете этого решения, это не означает, что его нет.
Максим26 уровень, Клин
7 April, 11:28
Тогда в каком месте я сказал, что нет другого решения или сказал, что надо решать исключительно через регулярки? прочитайте ещё раз мой комментарий, там написано: учите регулярки без них тяжело, всё! Там нет ни слова о том, что все задачи здесь нужно решать только с помощью регулярных выражений и тд и тп. Тем более, кому то легче решить вариант одним способом, кому то другим, я дал совет, исходя из своего опыта, как мне было легче. Хуже от него никому не стало бы, учить их всё равно придётся. Ну уж комментировать "если "все", то задачу "Исправить ошибку. Классы и интерфейсы" тоже решили с помощью регулярок? :) смешно." не вижу смысла, если не к чему больше прицепиться, можем считать вопрос закрытым.
Евгений31 уровень, Москва
7 April, 11:54
так и я тоже всего лишь поделился опытом, чтобы люди не бросались в омут головой решать все регулярками. Там подводных камней побольше будет, чем при "обычном" решении. И лично к вам мой комментарий вообще не относился.
Максим Polo20 уровень, Иркутск
10 March, 05:51
1927 System.getProperty("line.separator") как универсальный разделитель строк. Типа "\r\n" Валя не пропускает.
Максим26 уровень, Клин
24 March, 14:20
\R любая последовательность разрыва строки в регулярках. \r\n не пропускает потому что на Unix нет \r, а валя именно на нём (на Юнихе) и работает.
Максим Polo20 уровень, Иркутск
6 March, 12:12
1924 Валентина принимает только в UTF-8 наткнулся на проблему что у меня была в идее windows-1251.. потратил 8 попыток и три разных варианта решения пока не допер что дело в кодировке... (Писала мол в Static нужно вписать правильно пару 8 - "восемь") Конвертнул все в в UTF-8 и все прошло.
ram097333 уровень, Набережные Челны
26 February, 20:35
Не хватает простоты как в питоне a, b, c = [1,2,3] или датаклассов без геттеров/сеттеров, и dir() 3-го не будет, но 1-2 же могут :)
Вася Пупкин30 уровень, Москва
27 February, 09:02
Распаковка кортежей, списочные выражения, срезы, переопределение операторов, работа с файлами, вывод на консоль, форматные строки - вот этого реально не хватает в плане дизайна, сахара. Геттеры/сеттеры и прочее - это больше концептуальные вопросы, тут всё же не стоит сравнивать.
hidden #224466325 уровень
3 March, 18:48
Kotlin вам в помощь. Та же Java, но вид сильно сбоку
Елена29 уровень, Ростов-на-Дону
25 February, 21:48
"Отслеживаем изменения" конечно что-то с чем-то. "Несвежая" голова + немного сложно сформулированное условие = куча времени и куча строк говнокода. Но зато вынесла урок: если твой код = говнокод, пусть даже он и кажется работающим, удали его нахрен, поспи, отдохни и начни со свежей головой. Подсмотрела работающее решение - вполне читаемо.
Lada Dreamland27 уровень, Днепр
25 February, 19:28
Вот твои задания, они посложнее будут, чем предыдущие А то раньше были полегче) Ну, с Богом!