Hallo!
ich habe folgendes Problem: ich habe ein Programm geschrieben (eclipse) das Text mit der Rot-Verschlüsselung (oder Cäsarverschlüsselung) verschlüsselt.
Programmausgabe:
zu verschlüsselnden Text eingeben:
"Beispieltext"
Um wie viele Stellen soll verschoben werden?
22
Verschlüsselter Text:
"lwedjfdlsjsoijfd"
Originaltext:
"Beispieltext"
jetzt will ich aber, dass das Programm dann eine Abfrage macht ob beendet werden soll und wenn nein wieder von vorne Anfängt. Habe schon versucht das ganze in eine Schleife zu schreiben und mit einem Switch zu machen kommen aber immer Fehler.
Hier der Code:
ich habe folgendes Problem: ich habe ein Programm geschrieben (eclipse) das Text mit der Rot-Verschlüsselung (oder Cäsarverschlüsselung) verschlüsselt.
Programmausgabe:
zu verschlüsselnden Text eingeben:
"Beispieltext"
Um wie viele Stellen soll verschoben werden?
22
Verschlüsselter Text:
"lwedjfdlsjsoijfd"
Originaltext:
"Beispieltext"
jetzt will ich aber, dass das Programm dann eine Abfrage macht ob beendet werden soll und wenn nein wieder von vorne Anfängt. Habe schon versucht das ganze in eine Schleife zu schreiben und mit einem Switch zu machen kommen aber immer Fehler.
Hier der Code:
Java:
import java.util.Scanner;
public class rotcrypt {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("zu verschlüssender Text:");
String text = scanner.nextLine();
System.out.println("Um wie viele Stellen soll verschoben werden (1 bis 127)");
int offset = scanner.nextInt();
int anzahlstellen = offset;
if (offset >= 1 && offset <= 127) {
char[] meinArray = text.toCharArray();
char[] meinNeuesArray = verschluesseln(offset, meinArray);
System.out.println("\nVerschlüsselter Text: (um " + anzahlstellen + " verschoben)");
for (int i = 0; i < meinNeuesArray.length; i++) {
System.out.print(meinNeuesArray[i]);
}
System.out.println("\n");
meinNeuesArray = entschlüsseln(offset, meinNeuesArray);
System.out.println("\nOriginalText:");
for (int i = 0; i < meinNeuesArray.length; i++) {
System.out.print(meinNeuesArray);
}
System.out.println("\n");
scanner.close();
} else
System.err.println("Ungültiger Wert die Verschiebung muss zwischen 1 und 127 liegen");
}
public static char[] verschluesseln(int offset, char[] charArray) {
char[] cryptArray = new char[charArray.length];
for (int i = 0; i < charArray.length; i++) {
int verschiebung = (charArray + offset) % 128;
cryptArray[i] = (char) (verschiebung);
}
return cryptArray;
}
public static char[] entschlüsseln(int offset, char[] charArray) {
char[] cryptArray = new char[charArray.length];
int verschiebung;
for (int i = 0; i < charArray.length; i++) {
if (charArray - offset < 0)
verschiebung = charArray - offset + 128;
else
verschiebung = (charArray - offset) % 128;
cryptArray[i] = (char) (verschiebung);
}
return cryptArray;
}
}
Zuletzt bearbeitet von einem Moderator: