Hallo!
Also es geht um Verschlüsselung von kleinbuchstaben. Genauer gesagt die Caesar-Verschlüsselung. Zusätzlich sollen wir mittels eines Schlüssels, pro Verschlüsselung das Raster um 1 verschieben UND wir müssen das umgedrehte Alphabet verwenden. Zusätzlich soll man nach jeder Verschlüsselung nach dem Key gefragt werden. sollte der Key unter Null geraten so wird er am Ende auf den Wert 4 gesetzt. Hat er von vornherein den Wert 0 so wird die Schleife und in weiterer Folge das Programm.
Also ich glaube, dass die eigentliche Verschlüsselung korrekt ist, da der Output mit dem vom Angabezettel übereinstimmt. Ich krieg nur die Abläufe und korrekte Formatierung nicht mehr auf die Reihe. Im Prinzip sollte dastehen:
Mein Output:
Mir ist schon klar warum das so ist, allerdings weiß ich nicht wie ich das "Encrypt" herausbringe.
Würde mich sehr über kleine Tipps zur Richtigstellung freuen!
liebe Grüße,
Thomas
Also es geht um Verschlüsselung von kleinbuchstaben. Genauer gesagt die Caesar-Verschlüsselung. Zusätzlich sollen wir mittels eines Schlüssels, pro Verschlüsselung das Raster um 1 verschieben UND wir müssen das umgedrehte Alphabet verwenden. Zusätzlich soll man nach jeder Verschlüsselung nach dem Key gefragt werden. sollte der Key unter Null geraten so wird er am Ende auf den Wert 4 gesetzt. Hat er von vornherein den Wert 0 so wird die Schleife und in weiterer Folge das Programm.
Also ich glaube, dass die eigentliche Verschlüsselung korrekt ist, da der Output mit dem vom Angabezettel übereinstimmt. Ich krieg nur die Abläufe und korrekte Formatierung nicht mehr auf die Reihe. Im Prinzip sollte dastehen:
Java:
Insert key: 1
Insert Text: hippie
Encrypted Text: ooijns
Insert Key: 0
End of Program
Java:
Insert Number < 1 to terminate the programm: 4
Encrypt: hippie
o
Encrypt: o
Encrypt: i
Encrypt: j
Encrypt: n
Encrypt: s
Encrypt: Ende des Programms!
Würde mich sehr über kleine Tipps zur Richtigstellung freuen!
liebe Grüße,
Thomas
Java:
public class brutusCipher
{
public static void main(String[] args)
{
char textInput='0';
char textBuffer;
System.out.print("Insert Number < 1 to terminate the programm: ");
//First Input of Key and Text
int key=Input.readInt();
while(textInput !='\n' && key > 0){ // as long as Input is not \n and key is greater than zero
System.out.print("Encrypt: ");
textInput = Input.readCharSequence(); //input Text
if(textInput>='a' && textInput <='z'){
textBuffer=(char) (textInput - 'a'); //eigentlich sinnlos
textBuffer=(char) ('z' - textBuffer);
textBuffer=(char) (textBuffer - key % 26);
while(textBuffer < 'a'){ //gegen negative Zahlen
textBuffer = (char) (textBuffer +26);
}
System.out.println(textBuffer);
key--;
}
else{
if(textInput == ' '){ //Behandlung der Leerzeichen
System.out.print(' ');
}
}
if(key<1){
key = 4;
}
} /*Ende While Schleife */
System.out.println("Ende des Programms!");
}
}