Р или Л

  • 10
  • Недоступна
Друзья секретного центра JavaRush с планеты Ки-Тай столкнулись с одной нестандартной для нас проблемой: они плохо различают буквы «р» и «л». Мы решили им помочь следующей задачей. В созданном списке слов экспериментальный метод fix будет удалять из списка строк все слова, содержащие букву «р», а все слова, содержашие букву «л» — удваивать.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (437)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Руслан Музыка7 уровень, Dergachi
час назад
У меня одного такое, что, вроде проходишь эти лекции, вроде все ясно. Потом начинаю делать задачи, и в голове вообще пусто. Ну в том плане, что, с чего начать. Как сюда или туда подставить цикл, чтобы прога работала или какой метод использовать (хотя, как это все, что мы прошли, работает - знаю) или в таком ключе. Очень сложно понять, что, как и куда писать в проге. Это из-за того, что мало опыта, или на 7 лвл уже не должно быть таких проблем и, значит, кодить - не мое? (только не нужно, пожалуйста говорить, что-то на подобии "вот, как только трудности начались, так уже сливаешься". нет, ибо это после того, как циклы начались, все началось)
Андрей7 уровень, Москва
вчера, 20:16
Ожидал что будет сложная) Ожидания не оправдались, Джолушка оказалась даже поинтереснее, но там интерес был в написании кода с минимальным количеством проверок и действий. Тут же совсем всё просто оказалось) Едем дальше.
Андрей12 уровень, Пермь
четверг, 20:46
ребят, а мы же еще ну до этой задачи contains() не проходили? просто как то странно, без него ж не справится? или есть варианты?
Алина Несмашная9 уровень, Краснодар
16 февраля, 14:38
Объясните, пожалуйста, что это значит strings = fix(strings);
Игорь8 уровень, Красноярск
17 февраля, 06:42
масиву strings будет присвоено значение массива выданного через return после выполнения метода fix с переданным в качестве исходных данных в метод массива strings
Pavel Samburg8 уровень
6 февраля, 20:35
начал решать через метод итератор так как подумал, что в коллекции при итерации нельзя использовать ремув. В общем начитался всего подряд и получил кашу в голове. А тут оказалось без придумок. Главное обратить внимание на итерацию цикла
BariO16 уровень, Nizhniy Novgorod
19 февраля, 10:01
нельзя удалять (изменять) элемент только во время перебора, т.е. foreach
Артём Кравченко9 уровень, Таганрог
2 февраля, 13:35
Потратил часа 2-3 на то, чтобы найти свою ошибку в единственной строке, где выбиралась очередная строка для обработки. Спасибо комментаторам за идеи разделения списков на оригинальный и обработанный, и то, что лучше всего обрабатывать оригинальный список с конца, а не с начала.
NikeMirum13 уровень, Великий Новгород
28 января, 15:02
Может кому поможет: Задачу решил за 1 for и 3 if условия. Главное, не забывайте про continue в условиях и если в 3-м условии делаете проверку на "л" и дополнительно инкриментируете, то не забудьте в метод add передать 2 аргумента, первым из которых будет позиция в списке, чтобы новый элемент не ушёл в конец списка, а то у Вас будет 3 лозы вместо 2.
27 января, 10:45
В первом условии проверяем методом contains("p") наличие "р" и отсутствие "л": если true, удаляем из списка элемент и декрементируем индекс, чтобы не пропустить при следующей итерации элемент, который сдвинулся на позицию удаленного. Вторым действием (else if) проверяем наличие "л" и отсутствие "р": если true, добавляем в список на первую позицию такой же элемент и инкрементируем индекс. Возвращаем список (тот же strings), а не null!
Андрей10 уровень, Москва
19 января, 00:18
Потратил три часа пока не выяснил, что знак символа пишется в одинарных кавычках, где буква Э на клавиатуре. char t== 'p'
Василий Бабин14 уровень, Москва
17 января, 11:15
Добавочный список не использовал, использовал только входящий. В for счетчик вообще не использовал. Но использовал, либо не использовал в проверках условий. Задача понравилась.