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 = fix(strings);
for (String string : strings) {
System.out.println(string);
}
}
public static ArrayList<String> fix(ArrayList<String> strings) {
ArrayList<String> result = new ArrayList<>();
for (int i = 0; i < strings.size(); i++) {
if(strings.get(i).contains("р") && !strings.get(i).contains("л")){
continue;
}
if(strings.get(i).contains("л") && !strings.get(i).contains("р")){
result.add(strings.get(i));
}
result.add(strings.get(i));
}
return result;
}
}
Виталий Шумбасов
13 уровень
Почему это работает?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Виталий Шумбасов
5 июля 2021, 12:03
Если я введу "вова" , не сработает же не из одних условий , но при этом выполнится 31 строка и "вова" добавиться в массив , вопрос,почему компилятор это съел и все получилось!?
Или под тем что мой метод ничего не должен делать со словами не содержащим ни р, ни л, говорит о том что я его просто должен добавить,что и есть оставить и ничего не сделать...
Походу я условие не совсем верно понял
Но ведь ничего не делать это ни добавить и не удалить же....
Кароче что за условие блин
0
НикитаExpert
5 июля 2021, 14:08
1. Создай список слов, заполни его самостоятельно.
2. Метод fix должен:
2.1. удалять из списка строк все слова, содержащие букву "р"
2.2. удваивать все слова содержащие букву "л".
2.3. если слово содержит и букву "р" и букву "л", то оставить это слово без изменений.
2.4. с другими словами ничего не делать.
ну вот пункт 2.4 с другими словами ничего не делать, значит они должны остаться в списке как есть
0