Hello . What may be the reason of getting this error?
My code:
package pl.codegym.task.task07.task0716;
import java.util.ArrayList;
/*
R czy L
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<String> lista = new ArrayList<String>();
lista.add("rosa"); // 0
lista.add("luz"); // 1
lista.add("lira"); // 2
lista = napraw(lista);
for (String s : lista) {
System.out.println(s);
}
}
public static ArrayList<String> napraw(ArrayList<String> lista) {
// tutaj wpisz swój kod
if ((lista.get(0).contains("r")) && !lista.get(0).contains("l")) {
lista.remove(0);
}
if ((lista.get(1).contains("r")) && !lista.get(1).contains("l")) {
lista.remove(0);
}
if ((lista.get(2).contains("r")) && !lista.get(2).contains("l")) {
lista.remove(2);
}
if ((!lista.get(0).contains("r")) && lista.get(0).contains("l")) {
lista.add("rosa");
}
if ((!lista.get(1).contains("r")) && lista.get(1).contains("l")) {
lista.remove("luz");
}
if ((!lista.get(2).contains("r")) && lista.get(2).contains("l")) {
lista.remove("lira");
}
return lista;
}
}
Error:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
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:373)
at java.base/java.util.ArrayList.get(ArrayList.java:427)
at pl.codegym.task.task07.task0716.Solution.napraw(Solution.java:34)
at pl.codegym.task.task07.task0716.Solution.main(Solution.java:15)