Java :: Aufgabe #34 :: Lösung #2
6 Lösungen

#34
Mit Caesar Chiffre ent- und verschlüsseln
Anfänger - Java
von Dome
- 03.01.2013 um 01:30 Uhr
Schreiben Sie ein Programm, indem Sie mit Hilfe der Caesar Chiffre einen beliebigen Text ent- und verschlüsseln können. Zuvor muss der Text und die Anzahl der Verschiebung angegeben werden. Groß- und Kleinschreibung muss nicht beachtet werden.
Konsolenausgabe:
Geben Sie den Text ein: Beispielwort
Um wie viele Stellen soll verschoben werden: 1
Ergebnis: Cfjtqjfmxpsu
#2

von Bufkin (1410 Punkte)
- 13.09.2017 um 11:48 Uhr
Entschlüsseln funktioniert im Moment nur mit kleinen Buchstaben und das richtige Wort muss aus eine Liste herausgesucht werden.
Java-Code

import java.util.ArrayList; import java.io.*; class caesar { static String alphabetVerschlüsseln = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; static String alphabetEntschlüsseln = "abcdefghijklmnopqrstuvwxyz"; public static String verschlüsseln(int verschiebung, String text) { int index = 0; String ausgabe = ""; for(int i = 0; i < text.length(); i++) { index = alphabetVerschlüsseln.indexOf(text.charAt(i)); ausgabe = ausgabe.concat(String.valueOf(alphabetVerschlüsseln.charAt(index + verschiebung))); } return ausgabe; } public static String entschlüsseln(String text) { String ausgabe = ""; int index = 0; int verschiebung = 0; ArrayList<String> ausgabeArray = new ArrayList<String>(); for(int i = 0; i < 26; i++) { for(int j = 0; j < text.length(); j++) { index = alphabetEntschlüsseln.indexOf(text.charAt(j)); if((index + i) > 25) { verschiebung = index + i - 26; } else { verschiebung = index + i; } ausgabe = ausgabe.concat(String.valueOf(alphabetEntschlüsseln.charAt(verschiebung))); } ausgabeArray.add(ausgabe); System.out.println(ausgabeArray.get(i)); ausgabe = ""; } return ausgabeArray.toString(); } public static void main (String[] args) throws java.lang.Exception { String StrVerschlüsseln = "Beispielwort"; String StrEntschlüsseln = "qtxhextaldgi"; System.out.println(StrVerschlüsseln + " verschlüsselt ist:\n" + verschlüsseln(1, StrVerschlüsseln) + "\n"); System.out.println("Alle möglichen Verschiebungen von " + StrEntschlüsseln + ":\n"); entschlüsseln(StrEntschlüsseln); } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1