Найти и обезвредить

  • 14
  • Недоступна
В классе Solution объявлены методы, которые тебе нужно реализовать следующим образом: 1. removeBugWithFor(ArrayList) - должен удалить строку из списка, если она содержит слово bug, используя цикл for и счетчик. 2. removeBugWithWhile(ArrayList) - должен удалить строку из списка, если
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (55)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Олег Скляр #3083937
Уровень 8, Краснодар, Russian Federation
3 июня, 12:44
Хотите посмеяться?...)) Я сделал так, чтобы удалялась строка, которая содержит слово "bug" при разных регистров букв. То есть каким бы ты регистром букв не написал слово bug, он это удалит (BUg, BuG, и т.д.). Короче наворотил себе велосипед
Даниил Тарасевич
Уровень 8, Tiraspol, Moldova, Republic of
11 мая, 13:38
а я все привел toLowerCase сначала... потом все сравнивал
Kit
Уровень 16, Russian Federation
5 мая, 16:24
задачу сделала верно, все прошло по валидатору, но ... угадайте, кто забыл IgnoreCase и прописал каждый баг отдельно🤡
Anton
Уровень 15, Москва, Russian Federation
4 мая, 11:50
Элементы удаляются из коллекции list. 🤦‍♂️
Fruitella
Уровень 22, Тверь, Russian Federation
4 апреля, 10:15
Задача очень понравилась. Начинаю потихоньку вьезжать.
Андрей
Уровень 40
12 апреля, 01:28
согласен, задача на закрепление хороша + добавили кое - что новое, как вывести в консоль по другому, спасибо!
Артём Ляхов
Уровень 19, Екатеринбург, Россия
16 марта, 11:32
Зачем уменьшать i (i--), при удалении через цикл for: Допустим у нас есть массив данных:
{0, 1, 2, 3, 4, 5, 6, 7}
При удалении значение 5 ячейки произойдет следующее: 1) Удалится само значение ячейки, массив приобретет следующий вид:
{0, 1, 2, 3, , 5, 6, 7} // при i = 4
2) Значения 5, 6, 7 сместятся влево:
{0, 1, 2, 3, 5, 6, 7} // i все еще равна 4, но ячейку под номером 4 мы уже проверили
Таким образом, если мы не уменьшим счетчик i на единицу, то мы просто пропустим проверку числа 5 и сразу перейдем к проверке числа 6.
Anonymous #2656537
Уровень 34
26 марта, 21:52
Ну так поэтому и надо писать i—, чтоб после смещения остаться на том же месте. Ведь когда ты пишешь цикл for, после каждого витка I++.
Oss Osip
Уровень 27, minsk, Belarus
3 марта, 20:07
хорошая задача!! для закрепления темы!
AV
Уровень 28, Russian Federation
26 февраля, 15:35
Мне кажется, в данной задаче нас пожалели и не задали строку "This is the bug!" Вот здесь пришлось бы разделять строку на массив и уже в нем искать слово.
Максим Оскирко Работает в Работник на работе
13 февраля, 22:17
почему мы удаляем String str а не элемент по индексу (i)?
for (int i = 0; i < list.size(); i++)
{
   String str = list.get(i);

   if (str.equals("Hello"))
   {
      list.remove(str);  // здесь: почему  list.remove(str);  а не list.remove(i);
      i--;
   }
}
Anonymous #2656537
Уровень 34
23 февраля, 14:06
Потому что у List несколько методов remove. Если передать в него конкретную строку или значение, он удалить первый найденный такой элемент
milyasow
Уровень 30, Москва, Russian Federation
14 марта, 19:38
В данному случае, как удалять - без разницы. Удаление из коллекции допускается и по индексу, и с указанием ссылки на объект. А поскольку в цикле for мы в любом случае пройдем по всем элементам, то даже если в ней будут дубликаты, они все будут удалены.
Юлия
Уровень 25, Ростов-на-Дону, Russian Federation
4 февраля, 14:08
Классная задача) По регистрам поняла сразу, а вот запуталась в скобках. В итоге поругалась с компилятором, потом признала, что была не права 😁 и мы помирились