Hallo Leute, ich möchte eine Klassenmethode schreiben, die alle vorkommen eines bestimmten Zeichens in einem StringBuffer Objekt löscht.
hier meine Lösung, die nicht richtig funktioniert:
Meine Lösung löscht bis zu zwei Zeichen hintereinander, aber wenn es mehr Zeichen hintereinander sind, löscht sie nicht alle, was ich nicht verstehe, weil die Schleife ja jedes einzelne Indize nacheinander durchgeht, nachschaut ob das gesuchte Zeichen mit der aktuellen Position übereinstimmt und es dann ggf. löscht. Kann mir da jemand bitte auf die Sprünge helfen?
mfg
Kenelope
hier meine Lösung, die nicht richtig funktioniert:
Code:
public class Loeschen
{
static void loeschen(StringBuffer sb, char c)
{
for(int i = 0; i < sb.length(); i++)
{
if(sb.charAt(i) == c)
{
sb.deleteCharAt(i);
}
}
}
public static void main(String[] args)
{
StringBuffer test = new StringBuffer("oeeeeo");
loeschen(test, 'e');
System.out.println(test);
}
}
Meine Lösung löscht bis zu zwei Zeichen hintereinander, aber wenn es mehr Zeichen hintereinander sind, löscht sie nicht alle, was ich nicht verstehe, weil die Schleife ja jedes einzelne Indize nacheinander durchgeht, nachschaut ob das gesuchte Zeichen mit der aktuellen Position übereinstimmt und es dann ggf. löscht. Kann mir da jemand bitte auf die Sprünge helfen?
mfg
Kenelope