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

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

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

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

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

10
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Отслеживаем изменения
Считайте с консоли два имени файла — file1, file2. Эти файлы содержат строки, причём file2 является обновленной версией file1, часть строк совпадают. Создайте объединенную версию строк и запишите их в список lines.
10
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Свой FileWriter
Реализовать логику FileConsoleWriter. Класс FileConsoleWriter должен содержать приватное поле FileWriter fileWriter. Класс FileConsoleWriter должен содержать все конструкторы, которые инициализируют fileWriter для записи. При записи данных в файл, должен дублировать эти данные на консоль.
10
Задача
Java Core,  9 уровень,  11 лекция
Недоступна
Знакомство с тегами
Считайте с консоли имя файла, который имеет HTML-формат. Первым параметром в метод main приходит тег. Например, «span». Вывести на консоль все теги, которые соответствуют заданному тегу. Каждый тег на новой строке, порядок должен соответствовать порядку следования в файле. Количество пробелов, n, r не влияют на результат.
Комментарии (103)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
virex25 уровень, Екатеринбург
13 марта, 07:06
Считаем зарплаты Задачка решается быстро, через SortedMap(TreeMap). Создал текстовый файл, скопировал туда пример (Иванов, Петров и т.д.), прогоняю ...метод containsKey не работает. Как так? Петров есть в списке в первой строке и в последней. Оказывается когда вы в windows, в блокноте сохраняете файл с кодировкой UTF-8 или Юникод - он дописывает в начало файла байты $FF$EF, из-за чего при чтении файла первая запись - Петров сохраняется в список не как "Петров" а как "$FF$EFПетров". Можно создавать текстовые файлы в IDEA - он ничего добавлять не будет.
boyarin22 уровень
12 марта, 15:07
"Отслеживаем изменения" капец 2 дня ,29 попыток, 3 разные логики не принимал, куча мата и молитв xDDD. И все из за того, что не использовал BufferedReader c ArrayList. А использовал FileReader и обычный массив. Вот это жееесть.
Филипп22 уровень, Минск
11 марта, 00:31
А кто знает, можно ли Reader'ами читать русские буквы?
Николай22 уровень
11 марта, 18:41
судя по лекциям и полезным ссылкам, то да. System.in считывает байты. Далее они передаются в InputStreamReder - из них получаются 2 байтные символы, в т.ч. кирилица. Далее вся эта куча передается в BufferedReader и считывается строка символов.
Fox2k20 уровень, Москва
6 марта, 07:58
"одиннадцать" пишется с двумя "н". Условие: 1. В статическом блоке инициализировать словарь map парами [число-слово] от 0 до 12 включительно.Например, 0 - "ноль", 1 - "один", 2 - "два". Здесь написано "Например", т.е. могу инициализировать любыми словами!!! Какого валидатор не принимает любые слова???
Pavel30 уровень
4 марта, 18:05
Перед отслеживанием изменений лучше разобраться с рекурсией.
Pavel30 уровень
позавчера, 06:26
Да уж, легче просто некуда.
Сергей20 уровень, Москва
позавчера, 06:28
А что сложного, то один цикл по конечному списку(файлу), без доп циклов, рекурсий и тд. Сравниваем нужные элементы, добавляем их в конечный список и удаляем из исходных списков, чтобы не морочить голову с индексами (всегда сравниваем 0 и 1 элементы списка)
Pavel30 уровень
позавчера, 06:40
Излишне большой объем кода, который сложно и писать, и читать. Это не вдаваясь в контекст самой задачи.
Maria22 уровень, Москва
27 февраля, 19:58
может кому поможет - в задаче Отслеживаем изменения невероятно спасает итератор, тк избавляет от необходимости следить за индексами, чтобы не выйти за границы массива, также не понадобились line и nextline
Сергей20 уровень, Москва
позавчера, 06:25
Обычным for'ом все решается гораздо проще, см мой коммент выше
Max23 уровень
25 февраля, 19:58
1918 3,5 часа, итог решена, через похожий конвеер как в задаче 1916. Без регулярок и JSoap, через методы indexOf и substring Если разбить на блоки то :
1. Читаем файл
2. Создаем последовательность Типов тегов (Открывающий закрывающий) с Индексом позиции
3 Проходим по списку и смотрим какой закрывающий тег соответствует открывающему и выводим их и все что между ними.
S3R3N1TY29 уровень, Санкт-Петербург
14 февраля, 00:00
Самыми сложными для меня стали задачи "Отслеживание изменений" - условие которого и как принимает валик, я до сих пор не врубился и задача "Знакомство с тегами". В целом в остальном разобрался сам. Спасибо всем кто здесь тоже учится, ощущаешь себя частью коллектива и стараешься не облажаться.
13Black28 уровень, Москва
14 февраля, 17:26
он хочет чтобы ты сравнивал попеременно - первая с первой - если равны same, если нет то первая со второй, если равны то Added, и если то же нет, то наконец вторая с первой если равны то ремов. Ну я пытался намекнуть, а не полностью решение писать.
Даниил24 уровень
30 января, 00:21
Итог всех задач 1219 материи, решено и просмотрено ВСЁ в рамках этих 2 квестов. Замена чисел То чувство, когда решил со второй попытки задание только потому что не знал что слово "одиннадцать" пишется с 2 "н"... Знакомство с тегами Минус 5 часов жизни, но вроде не совсем в пустую))) И валидатор чуть ли не в каждом задании непонятно чего хочет. А когда становиться всё таки понятно, то понимаешь что задание вообще не корректно поставлено. Так что заглядывайте в раздел "Обсуждение" к каждой не понятной задачи, но только после того как сами что-то написали. А то там очень много спойлеров (знаю, сам оставлял, но сугубо что бы народ не тратил в 3 раза больше времени на уговоры валидатора чем на решение самой задачи).
26 января, 08:49
Задача "Свой FileWriter" Валидатор метод
public void write(int c) throws IOException {
    fileWriter.write(c);
    System.out.println((char)c);
}
посчитал неверным (обратите внимание на преобразование (char)c). Пропустил такой вариант:
public void write(int c) throws IOException {
    fileWriter.write(c);
    System.out.println(c);
}
при таком раскладе код
int c = 'E';
writer.write(c);
в файл выводит символ 'E', а на консоль число 69.
Вячеслав20 уровень, Санкт-Петербург
15 марта, 16:35
Тоже заметил эту ошибку проверки. Сначала также написал с char, как должно было быть.