Бьюсь уже второй день никак не получается, помогите найти косяк, пожалуйста!
package com.javarush.task.task07.task0716;
import java.util.ArrayList;
/*
Р или Л
*/
public class Solution {
public static void main(String[] args) throws Exception {
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) {
for (int i = 0; i< list.size(); ) {
if (list.get(i).contains("р")) {
if (list.get(i).contains("л"))
i++;
else
list.remove(i);
} else if (list.get(i).contains("л")) {
list.add(i + 1, list.get(i));
i = i + 2;
} else
i++;
}
//напишите тут ваш код
return null;
}
}
TwiceMe
17 уровень
Выдает Exception in thread "main" java.lang.NullPointerException
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
SEMEN
23 марта 2019, 07:46
Помимо того что сказал Egorro. Вот тебе еще подсказка: "Нельзя проводить одновременно итерацию (перебор) коллекции и изменение ее элементов. " А то упрешься в другую проблему.
0
--------Master
23 марта 2019, 07:54
Так итератор же у него не задействован - для перебора используется просто последовательность чисел, с самим списком никак не связанная
0
SEMEN
25 марта 2019, 07:36
Вы правы, не досмотрел. Сам пробовал подобный способ реализации, но не взлетело( Сделал через второй список. Пересмотрел первый свой вариант решения, исправил косячок все заработало)
+1
--------Master
22 марта 2019, 19:33
0
TwiceMe
23 марта 2019, 09:34
Спасибо, такой явный косяк и пропустил(
+1