Есть список массивов и необходимо добавить 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.
(но вопрос вообще весьма странный)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не могу решить задачу на многопоточностьМетоды run у разных потоков выполняются не "одновременно", а друг за другом, сначала один поток полностью...
Задача : Вывести на экран список из 10 городов с текущей температурой окружающей средыСписок вывести по алфавиту
Из кода выводится список сформированных по длине словосочетания, которые в дальнейшем печатаются на imageНе могу придумать условие, чтобы...