Продолжаем мыть раму

  • 5
  • Недоступна
С этого момента мамино мытье рамы омрачено списками. Или наоборот, улучшено? Решаем такую задачку: вносим знаменитые слова из «Букваря» в список: «мама», «мыла», «раму». После каждого слова вставляем в список строку, содержащую слово «именно». И выводим результат на экран. Каждый элемент списка — с новой строки.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (244)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Vadim Zhalnin
Уровень 9
14 июля, 20:12
Гениальная валидация.
Ippo
Уровень 15, Саратов, Россия
6 июля, 12:12
Для добавления "именно" можно использовать .listIterator:
ListIterator<String> iter = listOfStrings.listIterator();
while (iter.hasNext()) {
    iter.next();
    iter.add("именно");
}
Дима
Уровень 9, Новая Каховка, Украина
4 июля, 10:37
Народ, тут решений много возможных, но вот что от вас хотят: чтоб вы потренировались вставлять строки в существующий список (который состоит из 3 строк "мама", "мыла", "раму"), который смещается в сторону после того как вы вставляете слово "именно" через arr.add(№ index,"именно"), чтоб вышло вот так: мама именно мыла именно раму именно Хз 2 варианта написал где выводило всё правильно, и так и сяк пытался, аж подгорело)) 11 попыток)))
Дмитрий
Уровень 8, Санкт-Петербург
12 июня, 19:17
/* Comment has been deleted */
Зепп Бранниган Admin в JavaRush Moderator
13 июня, 10:09
Выкладывать готовые решение запрещено правилами.
Егор Комаров
Уровень 8
11 апреля, 10:51
Решил методом пузырька ( или как там оно называется), используя базовые знания метода Add. У нас есть два основных метода добавления элементов, таким образом чтобы не перезаписать уже имеющиеся ячейки - это добавление ЛИБО в начало, ЛИБО в конец массива. List.add(text) - добавляет конец массива List.add(0, text) - добавляет в начало списка ИМЕЕМ: 0 1 2 мама, мыла, раму Драма в 5 актах: 1. Запоминаем значение последнего элемента списка - "раму" 2. Добавляем в начало списка "именно". Элементов становится 4: 0 1 2 3 именно, мама, мыла, раму 3. Удаляем последний элемент списка "раму" - list.remove(list.size()). Элементов становится снова 3. 0 1 2 именно, мама, мыла 4. Добавляем "раму" из пункта 1. в начало списка: 0 1 2 3 раму, именно, мама, мыла 5. Повторяем пункт 1 - 4 столько раз, пока значение нулевого элемента не будет равняться "мама": if (list.get(0)=="мама") break;
for (int i = 0; i<list.size(); i++){
            String x = list.get(list.size()-1); // запоминаем последний элемент
            list.remove(list.size()-1); // удаляем последний элемент
            list.add(0,"именно"); // именно в начало;
            list.add(0,x); // последний элемент в начало
            if (list.get(0)=="мама") break; // если первый элемент будет мама значит круг замкнулся, брейк
        }
Если помог ставь лайк!))
Simpson
Уровень 10, Белгород, Россия
26 апреля, 11:39
когда вставлется элемент в списочный массив Array он не перезаписывает ячейку, а занимает ее место при этом происходит сдвиг вправо. list.add(1, "именно"); list.add(3, "именно"); list.add(5, "именно");
Юрий
Уровень 16, Киев
16 марта, 21:14
У Меня тоже такое валидатор не пропустил
ArrayList <String> ArrStr=new ArrayList<>(Arrays.asList("мама","мыла","раму"));
Dim
Уровень 16, Житомир, Украина
23 марта, 10:37
аналогично. а ведь написано "инициализируй сразу" полез искать в инет как сразу инициализировать лист. нашел. валидатор ругается😐
Тарас Шкарапут
Уровень 17, Ульяновск, Россия
27 марта, 21:05
переменная ArrStr инициализируется присвоением ссылки на объект (new ArrayList<>()).
Dim
Уровень 16, Житомир, Украина
28 марта, 10:02
точно точно) уже понял)🙂
Bombus
Уровень 11, Москва
2 марта, 21:39
Хотел заполнить так ArrayList<String> list = new ArrayList<>(Arrays.asList("мама", "мыла", "раму")); Но валидатор не пропустил (( в итоге так получилось Collections.addAll(list,"мама", "мыла", "раму"); for (int i = 1; i < list.size()+1; i+=2) list.add(i,"именно"); for (String a: list) System.out.println(a);
ClementineKruczynski
Уровень 12, Москва, Россия
4 апреля, 14:06
что означает эта запись?
String a: list
Вадим
Уровень 22, Москва
3 мая, 11:22
Цикл по элементам list
Morpheus Technical Lead
9 февраля, 01:05
Почему нельзя так list.add(1,3,5 "именно") ???
Андрей Валерьевич
Уровень 20, Самара
5 февраля, 12:12
Я решил используя предыдущие знания так: 1. Создал список 2. Заполнил список через Collections. 3. Цикл для добавления элемента:
for (int i = 0; i < list.size()+1; i++) { // добавляем +1 т.к по условию необходим вывод после последнего элемента
          IndexOfList=i; // находим индекс массива
            if (IndexOfList%2!=0){  // проверяем нечетность индекса.
                list.add(IndexOfList,"именно"); // после каждого нечетного элемента добавить "именно"
            }
4.Цикл для вывода.
Rodion
Уровень 16, Германия
5 февраля, 20:55
разве Collections было до 7 уровня?
~tcin
Уровень 15, Barnaul
4 февраля, 15:16
Поставь + если тоже показалось что эта задача легче чем предыдущая))