1. При считывании строк необходимо указать строгое количество итераций в цикле. Если написать i < list.size(), то программа завершается сразу после запуска. Почему это происходит и как быть, если мы не знаем сколько строк будет введено?
2. Почему мы не получаем бесконечный цикл в методе doubleValues, если i < list.size(), а мы в list с каждой итерацией добавляем новый элемент?
public class Solution {
public static void main(String[] args) throws Exception {
// Считать строки с консоли и объявить ArrayList list тут
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < list.size(); i++){
String s = reader.readLine();
list.add(s);
}
ArrayList<String> result = doubleValues(list);
for (int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
// Вывести на экран result
}
public static ArrayList<String> doubleValues(ArrayList<String> list) {
//напишите тут ваш код
for (int i = 0; i < list.size(); i++){
String x = list.get(i);
list.add(i, x);
i++;
}
return list;
}
}