public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<String> list = new ArrayList<>();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
int n = 10 -i -1;
list.set(n,bufferedReader.readLine());
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
после первого инпута следующая ошибка
q
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 9 out of bounds for length 0
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.set(ArrayList.java:472)
at com.javarush.task.task07.task0710.Solution.main(Solution.java:20)
но при таком коде
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<String> list = new ArrayList<>();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
list.add(null);
}
int n = 10 -i -1;
list.set(n,bufferedReader.readLine());
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
мой ввод:
q
qq
qqq
qqqq
qqqqq
qqqqqq
qqqqqqq
qqqqqqqq
qqqqqqqqq
qqqqqqqqqq
мой вывод:
qqqqqqqqqq
qqqqqqqqq
qqqqqqqq
qqqqqqq
qqqqqq
qqqqq
qqqq
qqq
qq
q
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null...
почему так ?