Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
 Аватар для shootolik
1 / 1 / 0
Регистрация: 12.02.2015
Сообщений: 58

Работа со списком

04.04.2015, 18:13. Показов 5213. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Создай список слов, заполни его самостоятельно.
2. Метод fix должен:
2.1. удалять из списка строк все слова, содержащие букву «р»
2.2. удваивать все слова содержащие букву «л».
2.3. если слово содержит и букву «р» и букву «л», то оставить это слово без изменений.
2.4. с другими словами ничего не делать.
Мой код :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class Solution
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader bis = new BufferedReader(new InputStreamReader(System.in));
 
        ArrayList<String> list = new ArrayList<String>();
        list.add("лира"); //0
        list.add("роза"); //1
        list.add("лоза"); //2
        list = fix(list);
 
        for (String s : list)
        {
            System.out.println(s);
        }
    }
 
    public static ArrayList<String> fix(ArrayList<String> list) {
        //add your code here -  добавь код тут
        for(int i=0;i<list.size();) {
            if (list.get(i).contains("р"))
                list.remove(list.get(i));
            if (list.get(i).contains("л"))
                list.get(i);list.get(i);
            if(list.get(i).contains("р")&&list.get(i).contains("л"))
                list.get(i);
            else list.get(i);
        }
        return list;
    }
}
Подскажите где ошибки.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2015, 18:13
Ответы с готовыми решениями:

Работа со списком
Здравствуйте! Задачка такая. Имеется примерно такой список: Максим Информация1 Информация2 Информация3 Информация4 ...

Работа со списком
Ребят подскажите пожалуйста, как проще написать код (а то я полезла в дебри, но все же мне кажется, что должно быть проще) Есть два...

Работа со списком
В общем задача следующая: Найти в графе все пути от вершины к вершине без повторных ребер и вершин. Вот программа для поиска всех...

8
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.04.2015, 18:40
если следовать логике твоего цикла в методе fix, то первое же условие удалит слово "лира" так как оно содержит "р", а до условия содержания сразу и "л" и "р" не успеет дойти. Как минимум поставить условие содержания двух букв первым, чтобы оно пропускало слово и не давало двум другим условиям удалить его.
Хотя, честно говоря, я бы сделал по другому.
ну и
Java
1
for(int i=0;i<list.size(); i++)
0
 Аватар для shootolik
1 / 1 / 0
Регистрация: 12.02.2015
Сообщений: 58
04.04.2015, 18:44  [ТС]
Немного переработал метод
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static ArrayList<String> fix(ArrayList<String> list) {
        //add your code here -  добавь код тут
        for(int i=0;i<list.size();i++){
            if(list.get(i).contains("р")&&list.get(i).contains("л"))
            {
                continue;
            }
            else if (list.get(i).contains("р")) {
                list.remove(i);
                i--;
            }
            else if(list.get(i).contains("л")){
                list.add(i,list.get(i));
                i++;
            }
        }
        return list;
Но программа по прежнему не работает...
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.04.2015, 18:56
она по прежнему работает, просто условия не те. Сделай ты к примеру второй аррайлист в методе фикс, потом из исходного переданного листа берем слово и если оно ни под одно из условий не подходит то добавляем во внутренний лист. В конце возвращаем наш внутренний лист как результат.

Добавлено через 6 минут
на, держи)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static ArrayList<String> fix(ArrayList<String> list) {
        //add your code here -  добавь код тут
        
        ArrayList <String> list1=new ArrayList <String> ();
        for(int i=0;i<list.size();i++){
            boolean flag=true;
            String s=list.get(i);
            if (s.contains("р")) flag=false;
            if(s.contains("л"))  flag=false;
            if(s.contains("р")&&s.contains("л")) flag=true;
         if (flag) list1.add(s);
        }
        return list1;
    }
Добавлено через 38 секунд
про flag объяснять?
0
 Аватар для shootolik
1 / 1 / 0
Регистрация: 12.02.2015
Сообщений: 58
04.04.2015, 18:59  [ТС]
Про flag объяснять)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.04.2015, 19:05
флаг -это переменная используемая мной еще со времен Паскаля, которая сигнализирует о чем либо. В нашем случае она в самом начале, после своей инициализации (boolean flag=true) говорит о том что слово можно добавлять в наш внутренний лист. Но проходя через условия, флаг может смениться на ЛОЖЬ. В конце цикла добавляем в лист ТОЛЬКО если флаг все еще ИСТИНА (то есть не попал под действие условий). В итоге все работает как надо, я разные слова добавлял, все четко.
1
 Аватар для shootolik
1 / 1 / 0
Регистрация: 12.02.2015
Сообщений: 58
04.04.2015, 19:14  [ТС]
Не выполняется условие : удваивать все слова содержащие букву «л»
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.04.2015, 19:22
Лучший ответ Сообщение было отмечено shootolik как решение

Решение

упс) про это я как то запамятовал, надо немного поправить

вот,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static ArrayList<String> fix(ArrayList<String> list) {
        //add your code here -  добавь код тут
        
        ArrayList <String> list1=new ArrayList <String> ();
        for(int i=0;i<list.size();i++){
            boolean flag=true;
            String s=list.get(i);
            if (s.contains("р")) flag=false;
            if(s.contains("л"))  {
                if (s.contains("р")) {
                    flag=true;
                }
                else {
                    list1.add(s);
                }
            }
       
         if (flag) list1.add(s);
        }
        return list1;
    }
проверяй
1
 Аватар для shootolik
1 / 1 / 0
Регистрация: 12.02.2015
Сообщений: 58
04.04.2015, 20:40  [ТС]
Все работает,спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2015, 20:40
Помогаю со студенческими работами здесь

Работа со списком
В программе использовать функции: - создания списка из текстового файла - печать списка на экран - уничтожение списка - обработку...

Работа со списком
Имеется класс Tovar, в котором есть поля: название, страна, объем и цена Class Tovar { public string _name; ...

Работа со списком
Работа представляет собой несколько дополнительных функций и одну основную (menu), средствами которой реализована работа со списком. Меню...

Работа со списком
Привет, сообщество! Имеется следующая задача. Дан некоторый список L. Необходимо перед каждым вхождением числа Y добавить число X. ...

Работа со списком
Дан список состоящий и последовательности a(1),a(2),...,a(n). Определить максимальное количество подряд идущих положительных элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru