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
