Frage zu Substring(old, new)

HPL

Aktives Mitglied
Ich will in einem Wort mit 4 Buchstaben, z. B. "noch", die inneren beiden vertauschen, so wie ich es in den Kommentaren zum Code beschrieben habe.

Java:
public class Test

{

public static void main(String[] args){

String s = "noch";
//Aus noch will ich ncoh machen.


String insert=s.substring(1, 2);
//Ich will das o einem String zuweisen.


s = s.replace(s.substring(1, 2), s.substring(2, 3));
//Ich will so ncch machen.

s = s.replace(s.substring(2,3), insert);
//Ich will nun aus nhhc ncoh machen.


System.out.println(s);
//Aber nooh statt ncoh  kommt dabei raus:(

//Warum???

        }
}


Woran liegt es, dass der Erfolg ausbleibt? Ich werde aus den Dokus, die ich selbstverständlich konsultierte, nicht so richtig schlau. Ich habe auch den Code überprüft, einen idiotischen Leichtisinnsfehler habe ich für meinen Teil auch nicht entdecken können.
 
dies
[JAVA=18]s = s.replace(s.substring(2,3), insert);[/code]
bedeutet, ersetze jedes 'c' durch ein 'o' und nicht ersetze das zweite Zeichen durch ein 'o'!

[EDIT]
siehe auch in der Api: replace
[/EDIT]
 
Zuletzt bearbeitet:
Du kennst
Code:
System.out.println()
? Gut! Dann packst du das jetzt hinter jeden Methodenaufruf und guckst selbst wo sich die tatsächliche Ausgabe von der erwarteten Unterscheidet. Und dann guckst du nochmal in die Doku und prüfst ob du die Methoden mit den richtigen Parametern aufgerufen hast. Und ehe du dich versiehst hast du den Fehler dann auch schon gefunden.
 

Zurück
Oben