Willkommen bei Network & Security     remoteshell-security.com
Partnerseiten
login.php?sid=967b193f9c6767577e1779542e4517fe profile.php?mode=register&sid=967b193f9c6767577e1779542e4517fe faq.php?sid=967b193f9c6767577e1779542e4517fe memberlist.php?sid=967b193f9c6767577e1779542e4517fe search.php?sid=967b193f9c6767577e1779542e4517fe index.php?sid=967b193f9c6767577e1779542e4517fe

Foren-Übersicht » Programmierung » [Java/Java2] Probleme mit der String Methode replace()
Neues Thema eröffnen  Neue Antwort erstellen Vorheriges Thema anzeigen :: Nächstes Thema anzeigen 
[Java/Java2] Probleme mit der String Methode replace()
BeitragVerfasst am: 20.05.2006 22:38 Antworten mit Zitat
duddits
Anmeldedatum: 03.01.2006
Beiträge: 569
Wohnort: /proc




Hi,


beim versuch ein Programm zu schreiben, welches den normalen Zeichen Satz zu einem anderen macht ist mir ein schwerwiegender Fehler unterlaufen.
Den wenn ich z.B. probiere das Wort hallo mit dem neuen Zeichensatz zu versehen, werden nicht alle Zeichen korrekt dargestellt. Das Wort >>hallo<< sollte ja richtigerweise hier meinem Beispiel-Programm auszug >>rxggk<< ergeben, aber es kommt >>nuggk<< heraus.

Der Grund wieso das so ist glaube ich zu wissen, den das Problem scheint daran zu liegen, dass er manche Zeichen doppelt oder noch öfters durchläuft.

Code:
...
            String sold = decrypt.getText().toLowerCase();
                   
            char character[] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
     char newcharacter[] ={'x','y','z','b','a','i','e','r','c','d','f','g','h','j','k','l','m','n','o','p','q','s','t','u','v','w'};
       
     int zahl,zahl1;
         for(zahl =0 , zahl1 =0; zahl <character.length && zahl1 <newcharacter.length ; zahl++ ,zahl1++){     
           sold = sold.replace(character[zahl],newcharacter[zahl1]);
           encrypt.setText(sold);
             } 
     
        }
...



Nun müsste ich - so glaube ich - festlegen, das er jedes Zeichen nur einmal durchlaufen soll, doch mir fällt beim besten Willen nicht ein wie ich das realisieren soll.

Ich hoffe Ihr könnt mir da weiter helfen und bedanke mich schonmal im voraus für eure Bemühungen.

mfg duddits


Zuletzt bearbeitet von duddits am 21.05.2006 12:49, insgesamt einmal bearbeitet

_________________
Quidquid agis, prudenter agas et respice finem!

Jabber ID: duddits@amessage.info
Webseite: http://www.remoteshell-security.com
Weblog: http://blog.remoteshell-security.com
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Jabber ID
BeitragVerfasst am: 21.05.2006 00:16 Antworten mit Zitat
Phara0h
Anmeldedatum: 31.12.2005
Beiträge: 357
Wohnort: /dev/RL




Ist zwar Pascal/Delphi, aber das sollte einen brauchbaren Lösungsansatz bzw. mit einigen Änderungen schon deine Lösung sein Wink
Dieses Programm war eine Hausaufgabe im Informatik-Unterricht.
Aufgabe:
"Schreibe ein Programm, dass die Lottozahlen generiert und ausgibt.
(Beim Lotto werden 6 Zahlen von 1 - 49 gezogen. Es darf keine Zahl doppelt gezogen werden.)"
Code:
var
i, l, zahl: integer;
gezogen: boolean;
lotto:array[1..6] of integer;
begin
     for i := 1 to 6 do
         begin
         gezogen := false;
              repeat
                    zahl := random(49)+1;
                    gezogen := false;
                    for l := 1 to i-1 do
                        if lotto[l] = zahl then
                           gezogen := true;
              until gezogen = false;
         lotto[i] := zahl;
         end;
end;

_________________
Benutzer-Profile anzeigen Private Nachricht senden Jabber ID
BeitragVerfasst am: 21.05.2006 14:22 Antworten mit Zitat
duddits
Anmeldedatum: 03.01.2006
Beiträge: 569
Wohnort: /proc




Hi,

danke für deine Unterstüzung habe es aber schon anders lösen können:
Code:
public String encrypt (String sold) throws Exception
{

String s = sold.toLowerCase();
StringBuffer encryptstr = new StringBuffer (s.length());

char newcharacter[] = {'d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c'};

char c;
// Zeichen die im zu verschlüsselten Text enthalten sind
for (int i = 0; i < s.length(); ++i)
{
c = s.charAt(i);


if (c >= 'a' && c <= 'z' || c >= '0' && c <= '9')
encryptstr.insert (i, newcharacter[c -'a']);
else
encryptstr.insert (i, c);
}

return encryptstr.toString();
}


mfg duddits

_________________
Quidquid agis, prudenter agas et respice finem!

Jabber ID: duddits@amessage.info
Webseite: http://www.remoteshell-security.com
Weblog: http://blog.remoteshell-security.com
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Jabber ID
[Java/Java2] Probleme mit der String Methode replace()
Foren-Übersicht » Programmierung
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Alle Zeiten sind GMT + 1 Stunde  
Seite 1 von 1  

  
  
 Neues Thema eröffnen  Neue Antwort erstellen  


Forensicherheit

Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin
Deutsche Übersetzung von phpBB.de


remoteshell-security.com | Partner | Boardregeln | Impressum