Прогнала код задачи, получила корректный вывод на консоль.
Однако валидацию не прошло, выдает следующую рекомендацию ментора:
Проверь свое решение с другим списком слов, например: "роза", "мера", "лоза", "лира", "вода", "упор".
Подставила эти слова в список, теперь код вообще не прогоняется, выдает такую ошибку:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 5 out of bounds for length 5
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)
Помогите разобраться, что не так с кодом
package com.javarush.task.task07.task0716;
import java.util.ArrayList;
/*
Р или Л
*/
public class Solution {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<String>();
strings.add("роза");
strings.add("мера");//"роза", "мера", "лоза", "лира", "вода", "упор".
strings.add("лоза");
strings.add("лира");
strings.add("вода");
strings.add("упор");
strings = fix(strings);
for (String string : strings) {
System.out.println(string);
}
}
public static ArrayList<String> fix(ArrayList<String> strings) {
for (int i = strings.size() - 1; i >= 0; i--)
{
if (strings.get(i).contains("л"))
{
strings.add(i+1,strings.get(i));
}
else
{
if (strings.get(i).contains("р"))
{
strings.remove(i);
}
}
if (strings.get(i).contains("л") && strings.get(i).contains("р"))
{
strings.remove(i);
}
}
//напишите тут ваш код
return strings;
}
}