Dechiffrieren eines Textes mit Cäsars Methode?

Mein bisheriger Code - (Computer, Freizeit, Sprache)

2 Antworten

Mich wundert eher, dass überhaupt eine ausgegeben wird... (Evtl. macht ArrayList.toString() in etwa das gleiche wie ArrayList.get(0).toString()...)

Aber zur eigentlichen Antwort:

Versuch mal die Zeile

System.out.println(cipher(text));

durch das zu ersetzen:

for(String encryption : cipher(text)){
System.out.println(encryption);
}

P.S.: Allerdings hat dein Code noch ein par andere Probleme... Versuch mal als Eingabetext etwas wie "Oh, oh... Das könnte schiefgehen...". Evtl. kommst ja selbst dahinter, wo das Problem dabei liegt. ;)


Staryj 
Beitragsersteller
 08.12.2017, 01:17

Hat leider nicht funktioniert... Trotzdem danke :)

Mir ist bewusst, dass das Programm Macken hat und ich noch alle Zeichen die nicht Buchstaben sind rausfiltern muss.

Staryj 
Beitragsersteller
 08.12.2017, 01:20
@Staryj

Es werden, wie vorher, alle Elemente der List ausgegeben, aber nicht alle Dechiffrierungsvarianten... ich bekomme für den Beispieltext 25 mal BcD  raus...

Habe den Fehler gefunden und erfolgreich beseitigt... xD
Eine banale Sache, ich habe vergessen die Variable "i", nach der inneren Schleife, zurückzusetzen.


Isendrak  08.12.2017, 12:12

Okay, das hatte ich, als ich meine Antwort geschrieben habe ebenfalls übersehen... %D

Könntest aber an der Stelle statt eine while-Schleife auch einfach ne for-Schleife benutzen:

for(int i = 0; i < text.length(); ++i){
//TODO: Buchstabenverschiebung hier implementieren.
}