Caesar Encrypt+Decrypt

Manfredo

Mitglied
Hallo zusammen,

Ich muss für die Schule ein Java Projekt zu dem Thema Caesar-Verschlüsselung schreiben. Dabei sollen wir den plaintext und den Key durch Buffered Reader eingeben können. Dies soll jeweils für Encrypt und Decrypt gelten. Nun habe ich Probleme den Key eingeben zu können, sowie die Decrypt Variante, da es nicht so einfach ist wie gedacht, dass man einfach das Plus durch ein Minus ersetzen kann. Wie kann ich fortsetzen?

was ich bisher geschrieben hab:

---------------------------------------------------------------------

CaesarMain.java:
Java:
import java.io.*;

public class CaesarMain {

    public static void main(String[] args) throws IOException {
        
        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Input Plaintext:");
        CaesarClass cl = new CaesarClass(input.readLine(), 1);
        System.out.println("Input Key:");

        System.out.println("Encrypted Text:");

        System.out.println(cl.encrypt());
    }

}
---------------------------------------------------------------------

CaesarClass.java:
Java:
public class CaesarClass {
   String alphabet ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   String plaintext;
   int key;

   public String encrypt() {
       StringBuilder tmp =  new StringBuilder();
       for(int i =0; i<plaintext.length(); i++) {
       char c = plaintext.charAt(i);
       int index = alphabet.indexOf(c);

      tmp.append(alphabet.charAt((index + key) % 26));
       }
      return tmp.toString();
   }

   public CaesarClass(String s, int k ) {
       plaintext = s;
       key = k;
   }
---------------------------------------------------------------------


mfg Manfredo
 
Zuletzt bearbeitet von einem Moderator:

XHelp

Top Contributor
Wo genau ist dein Problem mit "Schlüssel einlesen"?
Doch, du könntest schon einfach mit Minus arbeiten, dabei musst du aber bedenken, dass % kein Modulo-Operator ist. D.h.
Code:
-28%26
ist
Code:
-2
, dazu müsstest du noch mal 26 addieren.
 
Zuletzt bearbeitet:

Ralph-Uwe

Bekanntes Mitglied
hi,

Du solltest der MainMethode zwei Variabeln spendieren:

Java:
	public static void main(String[] args) throws IOException {
		int key;
		String text;
    	BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Input Plaintext:");
        text = input.readLine();
        System.out.println("Input Key:");
        key = Integer.valueOf( input.readLine() );
        CaesarClass cl = new CaesarClass(text, key);
        System.out.println("Encrypted Text:");
        System.out.println(cl.encrypt());
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Feststellen, dass Wert zu groß; Caesar Chiffre Java Basics - Anfänger-Themen 3
T Fehler in Caesar-Chiffre Java Basics - Anfänger-Themen 7
N Erste Schritte JFrame Caesar-Verschlüsselung Java Basics - Anfänger-Themen 23
M Caesar Chiffre Java Basics - Anfänger-Themen 3
Y Caesar Verschlüsselung Fehler Java Basics - Anfänger-Themen 4
N Caesar Entschlüsselungsprogramm Java Basics - Anfänger-Themen 10
N Caesar Verschlüsselung Java Basics - Anfänger-Themen 2
J Erste Schritte Caesar - Code Verbesserung Java Basics - Anfänger-Themen 2
K Caesar Verschlüsselng Java Basics - Anfänger-Themen 18
S Caesar Verschlüsselung Start Hilfe Java Basics - Anfänger-Themen 4
H Caesar-Verschlüsselung - Was stimmt nicht? Java Basics - Anfänger-Themen 6
J Caesar Ciphers funktioniert nicht Java Basics - Anfänger-Themen 3
S Caesar-Verschlüsselung Problem/Frage Java Basics - Anfänger-Themen 4
B Textentschlüsselung nach Caesar Java Basics - Anfänger-Themen 3
K Caesar-chiffre Java Basics - Anfänger-Themen 5
F Nachrichtenverschlüsselung nach Caesar: Java Basics - Anfänger-Themen 4
C weniger code für: caesar + reverse? Java Basics - Anfänger-Themen 8
P Caesar Ver- und Entschlüsselung Java Basics - Anfänger-Themen 1
D Caesar Chiffre Java Basics - Anfänger-Themen 2
L Caesar-Verschlüsselung programmieren Java Basics - Anfänger-Themen 12
G Caesar-Chiffre Java Basics - Anfänger-Themen 7
M Entschlüsselungsproblem (Caesar) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben