Когда я убираю странную строчку, которая была изначально
list = fix(list);
программа работает отлично, но не проходит валидацию практически по всем пунктам (хотя все их выполняет).
а когда оставляю, выдает исключение
Exception in thread "main" java.lang.NullPointerException
Помогите, пожалуйста, разобраться, в чем тут дело
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);
fix(list);
for (String s : list) {
System.out.println(s);
}
}
public static ArrayList<String> fix(ArrayList<String> list) {
//int k = list.size();
//System.out.println(k);
for (int i = 0; i < list.size(); ) {
if (list.get(i).contains("р") && list.get(i).contains("л")) {
i++;
}
else if (list.get(i).contains("л")) {
list.add(i , list.get(i));
i=i+2;
}
else if (list.get(i).contains("р")) {
list.remove(i);
}
else i++;
}
return null;
}
}