Удваиваем слова

  • 4
  • Недоступна
Пишем программу-эхо. Она удваивает всё, что слышит. Вернее всё, что попало в список из 10 строк. Для этого в программе-эхо создаем, собственно список из 10 слов (вводим с клавиатуры строки и заносим их в список) и метод doubleValues, который, собственно, удваивает слова по определенному принципу. Результат эхо выводим на экран. Ничего сложного.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (137)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Nail13 уровень
1 апреля, 15:38
после предыдущей задачи, эта выглядит вообще изи. Логичнее было бы поменять их местами.
Дмитрий Метельский19 уровень, Минск
30 марта, 19:47
У меня вот один вопрос возник: что в этой задаче, что в предыдущей. Почему у меня получался бесконечный ввод, когда в цикле было указанно ограничение на 10 элементов? Ну и шаг делайте через элемент-то бишь I+=2.
Julia_Lemon8 уровень
26 марта, 01:53
Получается, что первый список list тоже изменился. Вывела на экран list, результат такой же, как у result. Вопрос: как сделать так, чтобы изначальный список list не менялся?
11 апреля, 06:41
Логично что изменился. В качестве параметра в метод doubleValues вы передаете именно list Поскольку в java передается не копия, а ссылка на список, то в методе он меняется. Если вы хотите оставить его неизменным можно например применить следующую конструкцию ArrayList<String> list = new ArrayList<>(); ArrayList<String> result = new ArrayList<>(); result.addAll(list);// копируем все из коллекции list в result result = doubleValues(list);
Андрей29 уровень, Гомель
5 марта, 17:00
for(int i=0;i<20;i+=2) list.add(i+1,list.get(i)); Все выводит согласно условию, но видите ли не тот фасон. Ну и с какого спрашивается я тут должен время терять когда все верно сделал?
Андрей29 уровень, Гомель
5 марта, 17:12
xD Их смущало фиксированное количество шагов вместо list.size()
Seryoga Gabov14 уровень, Москва
2 марта, 16:46
i=i+2 народ, я сам не понял до конца почему...
Anastasia15 уровень, Нижний Новгород
12 февраля, 18:56
Ну после решения предыдущей - эта вообще ерунда
Alex11 уровень, Минск
12 марта, 08:02
ну не знаю..я завис конкретно...
Alex11 уровень, Минск
12 марта, 08:27
компилятор ругался, не понял даже чего, обнулил решение, написал такое же всё норм)
Александр22 уровень, Минск
12 февраля, 00:36
никаких дополнительных массивов, и экзотических функций. В цикле если мы указываем i<list.size(), то все добавления цикл учитывает. Просто сначала сравниваем на предмет i==0 добавляем копию на 1-ю позицию, а если нет (тобишь дальше по ходу цикла) сравниваем с предыдущим (i-1), и добавляем list.add(i+1,xxx), все. (ну я так решил, возможно можно просто цикл указать не с 0-ля а сразу с 1, и тогда i==0 вообще не будет нужно)
Ponin.F8 уровень, Санкт-Петербург
12 февраля, 15:13
Зачем сравнивать? Просят продублировать значения по каждому индексу
list.add(i,list.get(i)); // ставим элемент на его же место
i++; //увеличиваем итератор на 1 т.к. новый элемент сдвинул индексы остатка списка на 1.
Александр22 уровень, Минск
12 февраля, 17:33
согласен
11 апреля, 06:49
for(int i=list.size()-1;i>=0;i--) list.add(i+1,list.get(i)); если идти с конца то и без инкримента принудительного ;)
Sherlock04048 уровень, Москва
7 мая, 18:13
отличное решение, спасибо за помощь)
Mark16 уровень
11 февраля, 15:07
Хорошая задача, решил путем добавления еще одного массива в который и складывал полученные данные, а также ввел j которая и была индексом для него, этот массив и вернул.
KreesMort10 уровень, Podolsk
29 января, 21:04
for (String b : result) {
            System.out.println(b);
        }
распечатка всего массива
Ponin.F8 уровень, Санкт-Петербург
12 февраля, 15:05
result.forEach(System.out::println);
Александр8 уровень
9 марта, 16:28
Можете объяснить как это работает? Документацию прочитал, но все равно не понял
Viktor 17 уровень
12 марта, 21:16
OOO а єто как?)))
11 апреля, 06:55
читайте про лямбды. т.к. тип параметра для println совпадает с типом который мы хотим распечатеть (в данном случае это B) Есть шикарное видео на эту тему. https://www.youtube.com/watch?v=DNC6Lknn2AE
Viktor 17 уровень
11 апреля, 22:33
спасибо)
Alex Tiga11 уровень, Казань
22 января, 05:26
Объясните плиз как работает i+=2
Владлен Вожжаев11 уровень, Москва
27 января, 00:43
i+=2;
это тоже самое что
i=i+2;