Veröffentlicht 23. August 200619 j hiho, ich brauche, mal wieder ^^'', dringend hilfe! und zwar, will ich ein programm schreiben, das daten ver- und entschlüsselt. doch das ersetzen der string einzelteile ist schwerer als ich dachte! ja is klar text_field.setText(StringXYZ.replace("1","2")); geht zwar, aber nur ein einziges mal! wenn ich den rest dranhänge also StringXYZ.replace("x","y")+StringXYZ.replace("v","w")....usw. wird auch immer nur ein einziges ersetzt. würde z.b. bei dieser Text Eingabe hier: "MrXYZ" mit replaces von: text_field.setText(String.replace("X","1")+String.replace("Y","2")+String.replace("Z","3")); dies ergeben(als ausgabe über JTextArea):"Mr1YZ MrX2Z MrXY3" es soll aber: "Mr123" rauskommen! hoffe einer versteht wie ich es meine :S mfg Kaeyu
23. August 200619 j hoffe einer versteht wie ich es meine :S Ich glaube ich habe dich verstanden Schau dir mal die Methode replaceAll an ich denke das wird dir helfen [EDIT] Und das Problem das der Text immer komplett angehängt wird liegt an dem + String original = "MrXYZ"; String verschlüsselt = ""; verschlüsselt = original.replaceAll("X",1); verschlüsselt = verschlüsselt.replaceAll("Y",2); verschlüsselt = verschlüsselt.replaceAll("Z",3); text_field.setText(verschlüsselt); Allerdings ungetestet
23. August 200619 j hab den fehler gefunden^^ eines der zeichen hat den fehler verursacht lol. ich weiß zwar nicht warum aber naja. auf jeden fall warn das die zeichen: $ % & / ( ) ich hab buchstaben eingesetzt und jetzt gehts danke vielmals Pinhead P.S.: geht auch als megalanger einzeiler xD xyz = JTextArea.getText().replaceAll(....).replaceAll(...) usw
29. August 200618 j Hallo, was du machst ist folgendes: Du nimmst dreimal den String und ersetzt in jedem String einen Buchstaben... Mach es so: Code: String test = "MisterXYZ"; test=test.replace('X','1'); test=test.replace('Y','2'); test=test.replace('Z','3'); System.out.println(test);
29. August 200618 j und zwar, will ich ein programm schreiben, das daten ver- und entschlüsselt. Zur Übung oder produktiv? Produktiv nutze vorhandene Bibliotheken. Stichwort: java.security Hallo, was du machst ist folgendes: Du nimmst dreimal den String und ersetzt in jedem String einen Buchstaben... Mach es so: Code: String test = "MisterXYZ"; test=test.replace('X','1'); test=test.replace('Y','2'); test=test.replace('Z','3'); System.out.println(test); Auch unperformant! Für verschlüsselung eher das byte[] array des Strings nutzen und mit schleifen durchlaufen. replace macht zwar dasselbe, aber der Overhead daraus jeweils wieder einen String zu bilden tritt bei deiner Lösung mehrfach auf. Gruß Jaraz
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.