edit: hatamı buldum, "remove içermiyorsa direkt base döndür"mek için yazdığım ilk if'li bölümü kaldırmak gerekiyormuş, boş yere hatalı değer döndürüyor çünkü. Kalan kısım yeterli oluyor.---------------Selam. Şu linkteki (https://codingbat.com/prob/p192570) soruyu çözerken test girdilerinin birkaçınd
edit: hatamı buldum, "remove içermiyorsa direkt base döndür"mek için yazdığım ilk if'li bölümü kaldırmak gerekiyormuş, boş yere hatalı değer döndürüyor çünkü. Kalan kısım yeterli oluyor.
---------------
Selam. Şu linkteki (
codingbat.com) soruyu çözerken test girdilerinin birkaçında doğru sonuç vermiyor. Başka yerlerden başka başka çözümlere baktım ama benim yardım istediğim konu, benim çözüm yolumun neresinde eksiklik var? Yardım edecek olanlara şimdiden teşekkürler.
public String withoutString(String base, String remove) {
String result="";
String b=base.toLowerCase();
String r=remove.toLowerCase();
if(!base.contains(remove)){
return base; //remove içermiyorsa direkt base döndür
}
for(int i=0;i<base.length();i++){
if(!b.substring(i).startsWith(r)){
result+=base.charAt(i); //remove (r) ile başlamıyorsa base'in ilk karakterini result'a ekle.
}
else{
i+=remove.length()-1; //remove ile başlıyorsa remove uzunluğu kadar atla ve döngüye devam et.
}
}
return result;
}