Как удвоить символы с помощью списка массивов

597
30 декабря 2016, 10:43

Есть список массивов и необходимо добавить 5 строк, а потом удвоить значение, чтобы получилось следующее:

АА ББ ВВ ГГ ДД

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<String>();
for (int a = 0; a < 5; a++) {
    list.add(br.readLine());
}
for (int a = 0; a < 10; a++) {
    list.add(list.get(a));
}

Пытался сделать следующим образом, но вышло совсем не то, что ожидалось. Что именно, необходимо в этом случае сделать?

P.S. Если есть ответ, то прошу полностью не писать код

Answer 1

Вам нужно получить строку из list методом get(...), далее удвоить ее и поместить на то же место в list, откуда она была получена.

for (int i=0; i<list.size(); i++) {
    String s = list.get(i);
    list.set(i, s + s);
}

Несколько замечаний:

  1. Есть список массивов

    Нет, нет у Вас никакого списка массивов, у Вас есть коллекция ArrayList, элементами которой являются объекты класса String.

  2. Индексы в циклах общепринято именовать i, j и k.

  3. После использования поток необходимо закрывать: br.close(); (если не используется конструкция try-with-resources).

UPD:

В комментариях к этому ответу интересуются по поводу второго замечания, поэтому процитирую Java code conventions:

Common names for temporary variables are i, j, k, m, and n for integers; c, d, and e for characters.

(но вопрос вообще весьма странный)

READ ALSO
Проблемы с Многопоточностью

Проблемы с Многопоточностью

Не могу решить задачу на многопоточностьМетоды run у разных потоков выполняются не "одновременно", а друг за другом, сначала один поток полностью...

430
Сортировка данных при работе с jsoup (Java)

Сортировка данных при работе с jsoup (Java)

Задача : Вывести на экран список из 10 городов с текущей температурой окружающей средыСписок вывести по алфавиту

518
Не выводит одно слово при формировании списка словосочетаний

Не выводит одно слово при формировании списка словосочетаний

Из кода выводится список сформированных по длине словосочетания, которые в дальнейшем печатаются на imageНе могу придумать условие, чтобы...

390