Объясните, пожалуйста, по пунктам правильное решение, которое приводится разрабами по этой задаче.
Отсутствует же соответствие второму пункту, не? (2. Метод fix должен УДАЛЯТЬ из списка строк все слова, содержащие букву "р".).
Может я что-то упустил. В общем объясните, пожалуйста, конкретно, а не подсказками. Намучился с этой задачей.
Спасибо.
String r = "р";
String l = "л";
ArrayList<String> result = new ArrayList<>();
for (String string : strings) {
boolean isR = string.contains(r);
boolean isL = string.contains(l);
if (isR && !isL) {
continue;
}
if (!isR && isL) {
result.add(string);
}
result.add(string);
}
return result;
package com.javarush.task.jdk13.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 = 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(); ) {
if (strings.get(i).contains("л") && !strings.get(i).contains("р")) {
strings.add(strings.get(i));
i += 2;
}
else if (strings.get(i).contains("р") && !strings.get(i).contains("л")){
strings.remove(strings.get(i));
}
else
i++;
}
return strings;
}
}