Есть список массивов и необходимо добавить 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. Если есть ответ, то прошу полностью не писать код
Вам нужно получить строку из list методом get(...), далее удвоить ее и поместить на то же место в list, откуда она была получена.
for (int i=0; i<list.size(); i++) {
String s = list.get(i);
list.set(i, s + s);
}
Несколько замечаний:
Есть список массивов
Нет, нет у Вас никакого списка массивов, у Вас есть коллекция ArrayList, элементами которой являются объекты класса String.
Индексы в циклах общепринято именовать i, j и k.
После использования поток необходимо закрывать: 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.
(но вопрос вообще весьма странный)
Продвижение своими сайтами как стратегия роста и независимости