Methoden Methode um Zeichen aus String zu löschen

rubbG6

Mitglied
Hallo zusammen, ich stehe vor einem Problem. Ich soll lt. Aufgabenstellung eine Methode implementieren, die Zeichen aus einem String an den Stellen löscht, wo % zweiter Parameter (hier byte n) = 0 ist.

Beispiel: delChar("Dies ist ein Test!", 3); -> "ie is inTet!"

Bisher bin ich so weit gekommen:

Java:
String delChar(String string, byte n){
 
  for(int i = 0; i < string.length(); i++){
    
    if(string.charAt(i) % n == 0){
      // hier fehlt die Anweisung um das Zeichen an der Stelle i zu löschen
    }
  }   
   return string;
}

Ist es sinnvoll einen neuen String zu erstellen, der alle Zeichen beinhaltet, außer eben an den i Stellen?
Welche Befehle gibt es, um einzelne Zeichen zu löschen?

Danke für jeden Tipp :)
 

MarvinsDepression

Bekanntes Mitglied
Nachdem sich Strings eh nie verändern lassen (Strings sind immer final), muss Deine Methode auf jeden Fall einen neuen String zurück geben.
Es ist also eine Überlegung wert, ob der neue String nach dem Vorbild des Ursprünglichen zusammengesetzt werden kann (unter Berücksichtigung der vorgegebenen Regel)
 

Oneixee5

Top Contributor
Strings sind immer final
final bezieht sich auf die Klasse String. Das ist schon richtig, gemeint ist aber: Strings sind immutable also unveränderlich. Du kannst also ein String-Object nicht verändern und musst immer ein Neues, mit geändertem Inhalt erstellen.
In deinem Fall, ist vermutlich gemeint, dass du die einzelnen Zeichen zu einem neuen String zusammenstellen sollst. Dabei sollen, über eine Bedingung auf den Index der Elemente, einzelne Zeichen übersprungen werden.
Würdest du direkt im String Zeichen löschen, würde dein Ansatz mit der Schleife nicht funktionieren. Der String würde ja immer kürzer und deine Schleife demnach über das Ende des Strings hinaus arbeiten.
 

Neue Themen


Oben