Частично допёр сам, частично понял аргументацию более опытных участников и внёс исправления. За исключением одного. Система категорически отказывается удваивать "лигу". Что особенно удивило, так это что системе плевать на строку 34. Что "...(i + 1...", что "...(i,...". Чего всё-таки не хватает для решения?
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.add("лига");
strings = fix(strings);
for (String string : strings) {
System.out.println(string);
}
}
public static ArrayList<String> fix(ArrayList<String> strings) {
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i).contains("р") && strings.get(i).contains("л"))
i++;
else if (strings.get(i).contains("р") && !strings.get(i).contains("л")) {
strings.remove(strings.get(i));
i--;
} else if (strings.get(i).contains("л") && !strings.get(i).contains("р")) {
strings.add(i + 1, strings.get(i));
i++;
}
}
return strings;
}
}