Доброго времени суток.
Имеется задача, в рамках которой требуется из одной строки (base), удалить все подстроки (remove), без учета регистра. Задача была решена следующим образом:
public String withoutString(String base, String remove) {
String result = "";
for (int i = 0; i < (base.length()-remove.length()+1); i++)
if (!base.substring(i, i+remove.length()).toLowerCase().equals(remove.toLowerCase()))
result += base.substring(i, i+1);
else if (i+remove.length() < base.length())
i += remove.length()-1;
else
return result;
for (int j = base.length()-remove.length()+1; j < base.length(); j++)
result += base.substring(j, j+1);
return result;
}
Без конструкции
else
return result;
программа проходит все проверки, кроме случая "Hi HoHo"/"Ho" (вывод: "Hi o").
Вопрос, почему здесь необходим оператор `return` (второй, по сути), и тот же оператор `break` тут не подойдет?
Благодарю.