Подскажите, пожалуйста - в Идее все варианты проходят, массив под 20 слов, а здесь валидатор не принимает.
strings.add("роза");
strings.add("роза");
strings.add("лоза");
strings.add("лира");
strings.add("мера");
strings.add("вода");
strings.add("труп");
strings.add("рост");
strings.add("река");
strings.add("трек");
strings.add("воля");
strings.add("лото");
strings.add("тент");
strings.add("нить");
strings.add("литр");
strings.add("орел");
strings.add("мурло"); -- все работает. Может, я чего не вижу.
package com.javarush.task.task07.task0716;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
Р или Л
*/
public class Solution {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<String>();
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) {
//напишите тут ваш код
ArrayList<String> delNumb = new ArrayList<>();
ArrayList<String> addlNumb = new ArrayList<>();
Pattern pLR = Pattern.compile("[а-я]*[рл][а-я]*[рл][а-я]*");
Pattern pL = Pattern.compile("[а-я]*[л][а-я]*");
Pattern pR = Pattern.compile("[а-я]*[р][а-я]*");
for (int i = 0; i < strings.size(); i++) {
String a = strings.get(i);
Matcher mLR = pLR.matcher(a);
Matcher mL = pL.matcher(a);
Matcher mR = pR.matcher(a);
if (mLR.matches()) {
// System.out.println(a + " - LR - оставлено");
} else if (mL.matches()) {
//System.out.println(a + " - mL - удвоено");
addlNumb.add(a);
} else if (mR.matches()) {
//System.out.println(a + " - mR - удалено");
delNumb.add(a);
}
}
strings.addAll(addlNumb);
strings.removeAll(delNumb);
return strings;
}
}