Все вроде как должно работать, но при компиляции программы открывается консоль, куда надо вводить строки, причем в неограниченном количестве.
Потыкал, понял, что это из-за строки strings.add( i+1, strings.get(i));
При ее отсутствии программа компилируется нормально, первое условие для удаление словами с "р" выполняет.
По идее должно вроде как просто дублировать уже существующую строку, вообще непонятно откуда берется ввод в консоль. Причем если strings.get(i) заменить на любую строку, и сделать что-то типо strings.add( i+1, "nghng"); , то тоже все работает. Получается все дело в strings.get(i)? Но как это может вызывать ввод? Бред какой-то
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) {
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i).contains("р"))
if (!strings.get(i).contains("л"))
strings.remove(i);
if (strings.get(i).contains("л"))
if (!strings.get(i).contains("р"))
strings.add( i+1, strings.get(i));
}
return strings;
}
}