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

  • 5
  • Недоступна
Пишем программу-эхо. Она удваивает всё, что слышит. Вернее всё, что попало в список из 10 строк. Для этого в программе-эхо создаем, собственно список из 10 слов (вводим с клавиатуры строки и заносим их в список) и метод doubleValues, который, собственно, удваивает слова по определенному принципу. Результат эхо выводим на экран. Ничего сложного.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (256)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Zenis7 уровень, Санкт-Петербург
вчера, 00:01
Я сделал раскидыватель строк >D
for (int i = 0; i < list.size(); i++) {
            list.add(i+++i--,list.get(i));
        }
        return list;
Mihail Klimenko9 уровень, Краснодар
20 May, 12:10
после прошлой задачи решение проблем не доставило :) Сначала нужно навести порядок в готовом коде, потом объявить новый список строк с правильным именем, заполнить его через цикл for(). Дальше в методе doubleValues() нужно удвоить каждый элемент начального массива. Делается это добавлением нового элемента, который копируется с текущего. Копирование происходит так: сначала сдвигается в право оригинальный элемент (который нужно скопировать), освобождая место для нового элемента. Данные для нового элемента уже нужно брать с соседней клетки массива list.add(i, list.get(i++));
Ivan10 уровень, Череповец
27 May, 10:36
Немного по-другому пошёл. В методе doubleValues() объявил переменную result и сразу же создал список с загрузкой первого списка (new ArrayList<>(list) - это подсказала IDEA). Далее прошёлся for-ом по result, добавляя каждую его строку по индексу + 1, не забывая увеличивать i в цикле.
Руслан9 уровень, Ташкент
15 May, 14:46
Создаём массивв
ArrayList<String> list = new ArrayList<>();
Добавляем через цикл for в него 10 строк. В методе doubleValues обходим строки через цикл for, в конце прибавляем +2 в момент прохода добавляем текущую строку то бишь индекс с цикла i их теперь две, все остальные строки в массиве сместились на +1 поэтому в цикле у нас +2
list.add(i,list.get(i));
Потом просто выводим)
Андрей12 уровень, Москва
12 May, 18:01
не знаю для кого задача простая была, но попотеть пришлось хз сколько часов, в выводах были и бесконечные циклы и неверные индексы и импорт (ниже) веселуха))) мой вариант удваивания:
for(int i = 0 ; i < list.size(); i+=2){
     if(i == 20) {break;}
     list.add(i+1, list.get(i));
}
Azamat Abdilov8 уровень
15 May, 16:05
Подскажите пожалуйста что это за зверь такой? Уже вторая задача выходит. i+=2 list.add(i+1, list.get(i));
Андрей12 уровень, Москва
15 May, 18:29
смотри,
i+=2;
означает, что
i = i + 2;
() то есть значению i слева от "=" присваиваешь то что справа от "=" что касается list.add(i+1, list.get(i)); list.add(index, element); index = i+1; (в цикле for меняешь i) element = list.get(i); короче читай про ArrayList
Azamat Abdilov8 уровень
16 May, 14:38
Спасибо, Андрей!
Stirlitz8 уровень, Харьков
2 May, 15:21
Случайно скопировал импорты с редактора, а там затесался импорт IOException, так валидатор мне постоянно фейлил первое условие. Боль
Юрий Лубенченко12 уровень, Киев
7 May, 18:12
Прямо бог послал тебя в комменты под этой задачей)) тоже первый пункт не проходил и похожая проблема в импорте
Андрей12 уровень, Москва
12 May, 17:15
import java.io.IOException;
если быть точнее, в задаче (не проходящее)
import java.util.IOException;
Илья8 уровень, Дзержинск
2 May, 08:26
Кстати всё норм решается и без этой строчки ArrayList<String> result = doubleValues(list);
Eriomin Sergey18 уровень, Брест
29 April, 19:42
Очень удобно выводить ArrayList в одну строчку // Вывести на экран result result.forEach((n)-> System.out.println(n)); П.С. Ребята уже делились методой на каком-то уроке, но тогда я не воспользовался. Рекомендую
Evgeny Siganov9 уровень, Москва
30 April, 07:49
я так выводил result.forEach(System.out::println);
Леонель Хантер15 уровень, Нур-Султан
29 April, 16:38
объясните пожалуйста, до этого уже была задача, где я просто пропустил это.... Почему в методе в графе параметра мы устанавливаем текущий-действующий массив? Получается под каждый массив нужно писать свой метод? не может же быть такого! Как тогда инициализировать метод параметром? public static ArrayList<String> doubleValues(ArrayList<String> list) я про list
Evgeny Siganov9 уровень, Москва
30 April, 07:57
Смысл в том что нам нужно обработать исходный список list по неким алгоритмам, для этого мы создаём метод doubleValues который принимает в качестве параметра этот исходный список и колдует над ним. После этого мы его возвращаем, и строка result прописывает в себя все ячейки из преобразованного list.
Сергей13 уровень, Санкт-Петербург
19 April, 15:28
Если кто не разобрался, Вам в помощь: В методе doubleValues цикл с шагом в 2, в котором считываем элемент с индексом i и добавляем его в список с индексом i + 1
Александр Стоянов9 уровень, Катовице
8 May, 17:29
сделал так же, а потом пошел в коменты смотреть кто как сделал. и тут бац и ты
Кирилл СПб11 уровень, Санкт-Петербург
17 April, 20:55
Внутри метода doubleValues создал список строк, куда складываю удвоения, а потом этот список возвращаю. Удваивал банально циклом for на всю длину передаваемого в метод массива. Внутри цикла for сделал очень просто:
for (String buf: list){
            doubleList.add(buf);
            doubleList.add(buf);
        }