1. Создай список слов, заполни его самостоятельно.
2. Метод fix должен:
2.1. удалять из списка строк все слова, содержащие букву "р"
2.2. удваивать все слова содержащие букву "л".
2.3. если слово содержит и букву "р" и букву "л", то оставить это слово без изменений.
2.4. с другими словами ничего не делать.
Требования:
• Программа не должна считывать данные с клавиатуры.
• Метод fix должен удалять из списка строк все слова, содержащие букву "р". Исключение: слова содержащие и букву "р" и букву "л" - их нужно оставить.
• Метод fix должен удваивать слова, содержащие букву "л" (добавлять еще один элемент с этим словом). Исключение: слова содержащие и букву "л" и букву "р" - их не нужно удваивать.
• Метод fix не должен ничего делать со словами, содержащими и букву "л" и букву "р".
• Метод fix не должен ничего делать со словами, которые не содержат ни букву "л", ни букву "р".
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("л"))
continue;
else if(strings.get(i).contains("р"))
strings.remove(i);
else if(strings.get(i).contains("л"))
{
String s = "";
s = strings.get(i);
strings.add(s);
strings.add(s);
}
}
return strings;
}
почему с таким (на мой взгляд корректным) методом не проходит валидация и вообще не делается то что нужно? где ошибка?
вот вывод:
лоза
лира