Feststellen, dass Wert zu groß; Caesar Chiffre

Tete

Mitglied
Nabend,
ich habe folgendes Problem: Für meine Facharbeit soll ich unter anderem Caesar programmieren... An sich funktioniert die Verschiebung, aber die Werte nach 'z' /'Z' gehen weiter... Kann mir da wer helfen?

[CODE lang="java" title="Main"]package crypt;
import java.util.*;
public class Main {

public static Scanner sc = new Scanner(System.in);
public static int eingabe,eingabeCaesar;
public static boolean errorEingabe = true;
public static Caesar c = new Caesar();

public static void main(String[] args) {
System.out.println("Facharbeit Kryptographie von ");
System.out.println();
System.out.println("Wählen Sie folgend wie Sie Ihren Klartext mittels historischer Chiffre chiffrieren wollen:");

while(errorEingabe) {
System.out.println("(1) Caesar-Chiffre (2) Vigenere-Chiffre");
eingabe = sc.nextInt();

if (eingabe == 1) {
errorEingabe = false;
System.out.println("Caesar-Chiffre");
System.out.println("Möchten Sie eine Chiffrierung (1) oder eine Dechiffrierung (2) durchführen?");
eingabeCaesar = sc.nextInt();
if(eingabeCaesar == 1) {
System.out.println("Bitte geben Sie zuerst den Klartext ein, drücken Sie danach enter und geben Sie anschließend den Schlüssel (ganze Zahl) ein");
System.out.println(c.encrypt(sc.next(),sc.nextInt()));
}
else if (eingabeCaesar == 2) {
System.out.println("Bitte geben Sie zuerst das Chiffrat ein, drücken Sie danach enter und geben Sie anschließend den Schlüssel (ganze Zahl) ein");
System.out.println(c.decrypt(sc.next(),sc.nextInt()));
}
else {
System.out.println("Ihre Eingabe ist ungültig.");
errorEingabe = true;
}
}
else if (eingabe == 2) {
errorEingabe = false;
}
else {
System.out.println("Ihre Eingabe ist ungültig. Wählen Sie bitte:");
}
}
}
}[/CODE]
[CODE lang="java" title="Caesar"]package crypt;

public class Caesar {

public char[] preEncryption, preDecryption;
public String finishedEncryption,finishedDecryption;

public String encrypt(String pText, int pKey) {
char charArray[] = pText.toCharArray();
preEncryption = new char[charArray.length];
for (int i=0;i<charArray.length; i++) {
preEncryption = charArray;
}
for (int i=0;i<charArray.length; i++) {
preEncryption = (char) (preEncryption+pKey);
}
finishedEncryption = new String(preEncryption);
return finishedEncryption;
}
public String decrypt(String pText, int pKey) {
char charArray[] = pText.toCharArray();
preDecryption = new char[charArray.length];
for (int i=0;i<charArray.length; i++) {
preDecryption = charArray;
}
for (int i=0;i<charArray.length; i++) {
preDecryption = (char) (preDecryption-pKey);
}
finishedDecryption = new String(preDecryption);
return finishedDecryption;
}
}[/CODE]

Vielen Dank :) !
 

fhoffmann

Top Contributor
Auf die Schnelle fehlt in dem Code eine Modulo-Operation
Oder etwas ausführlicher: Du musst dir überlegen, welche Buchstaben du zulassen willst. Willst du beispielsweise nur GROSSBUCHSTABEN zulassen so musst du dir den Code (ANSI, ASCII oder UTF8 (ist alles gleich)) dieser Buchstaben angucken:
A = 65
...
Z = 90
Ist der berechnete neue Wert größer als 90, so musst du (beim Verschlüsseln) von ihm 26 abziehen, damit du wieder in den erlaubten Bereich kommst (vorausgesetzt, dass dein pKey > 0 und pKey < 26). Beim Entschlüsseln addierst du 26, falls der errrechnete Wert kleiner als 65 ist.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
M Aufrufendes Objekt feststellen Java Basics - Anfänger-Themen 9
T Erste Schritte Ende von Wörtern in einer Zeile feststellen? Java Basics - Anfänger-Themen 5
Y Feststellen ob ein Jahr vergangen ist Java Basics - Anfänger-Themen 6
A Feststellen ob Desktop.print("*.pdf") fertig ist Java Basics - Anfänger-Themen 6
P Datentypen Hauefigkeit feststellen Java Basics - Anfänger-Themen 19
E Position erkennen und überlappungen feststellen Java Basics - Anfänger-Themen 4
C Monotonie feststellen Java Basics - Anfänger-Themen 12
N OOP gewinner in einem Spiel feststellen Java Basics - Anfänger-Themen 4
H Eclipse: Programm startet nicht, wie Fehler feststellen? Java Basics - Anfänger-Themen 5
M Obsolete Komponenten feststellen? Java Basics - Anfänger-Themen 3
G Feststellen, was ausgelöst wurde Java Basics - Anfänger-Themen 2
G Feststellen, ob erstes Zeichen eines Strings eine Ziffer ist Java Basics - Anfänger-Themen 11
R Verzeichnis feststellen Java Basics - Anfänger-Themen 14
W Zeilenposition in JTextArea feststellen(ohne Caret) Java Basics - Anfänger-Themen 7
G Länge einer Enumeration feststellen Java Basics - Anfänger-Themen 15
M Feststellen, das Textboxen leer sind! Java Basics - Anfänger-Themen 3
M Text in JInternalFrames - Source feststellen? Java Basics - Anfänger-Themen 6
B Disconnect des Clients feststellen Java Basics - Anfänger-Themen 2
reibi Feststellen ob Datei fertiggeschrieben ist. Java Basics - Anfänger-Themen 12
L feststellen ob args[2] gesetzt ist? Java Basics - Anfänger-Themen 2
G Änderungen in TextFelder feststellen Java Basics - Anfänger-Themen 4
R Integerwerte von enum-Elementen feststellen Java Basics - Anfänger-Themen 2
D zeilenumbruch feststellen Java Basics - Anfänger-Themen 8
T Feststellen wie viel Arbeitsspeicher belegt ist Java Basics - Anfänger-Themen 2
G Vergleichen von Objekten, selektiertes Objekt feststellen Java Basics - Anfänger-Themen 2
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
B Überprüfung dass Zahl nur aus 0,1 besteht Java Basics - Anfänger-Themen 2
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
berserkerdq2 Habe ein Spiel entwickelt, dass immer in der 4 Runde einen cast-Fehler erhält Java Basics - Anfänger-Themen 3
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
U Methode wird genutzt, ohne dass ich die aufrufe? Java Basics - Anfänger-Themen 4
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
M Wie kann ich festlegen, dass ein Attribut maximal den Wert 0 erreicht, also nicht in den negativen Bereich fällt? Java Basics - Anfänger-Themen 4
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
mhmt_03 dafür sorgen, dass im JTextfield nur zahlen eingebbar sind Java Basics - Anfänger-Themen 9
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
W Programm dass Palindrome erkennt Java Basics - Anfänger-Themen 6
B Automatisierung von Jobs / @EJB Scheduler / Verhinderung, dass Queue überläuft Java Basics - Anfänger-Themen 2
Dimax Wie erkennt man dass der gesuchte am Zeilenanfang steht Java Basics - Anfänger-Themen 10
M java.io.FileNotFoundException trotz dass Verzeichnis korrekt angegeben ist! Java Basics - Anfänger-Themen 20
M In Netbeans Programm so abspeichern dass es funktioniert Java Basics - Anfänger-Themen 8
W Wie kann man folgenden Code abändern, dass er den Score mit Zahl anzeigt? Java Basics - Anfänger-Themen 3
X wie kann ich in bluej/java einene 2d array mit zahlen fuellen, so dass sich diese in der der zeilen Java Basics - Anfänger-Themen 2
S Double mithilfe eines Scanners so einlesen, dass ich damit rechnen kann Java Basics - Anfänger-Themen 4
1 2D-Array, dass das pascalsche Dreieck berechnet Java Basics - Anfänger-Themen 2
E Methoden Wie kann ich eine Methode so schreiben, dass Methodenaufruf polymorph erfolgen kann? Java Basics - Anfänger-Themen 8
D 100.0% gleichmäßig aufteilen, so dass Summe 100.0% sind, nicht 99,9% oder 100,1% Java Basics - Anfänger-Themen 3
B Liebesprogramm erstellt aber wie sorg ich dafür, dass es im bildschrim agezeigt wird? Java Basics - Anfänger-Themen 16
S Festlegen, dass Subklasse nicht erlaubt ist? Java Basics - Anfänger-Themen 3
S Abstrakte Klasse, festlegen, dass Methode verändert werden muss. Java Basics - Anfänger-Themen 4
T Vorschreiben, dass Konstruktor überschrieben wird Java Basics - Anfänger-Themen 10
G Warum geht dass nicht? Actionlistener geht nicht. Java Basics - Anfänger-Themen 4
A wie durch klicken regeln dass nächster "case" auge Java Basics - Anfänger-Themen 15
E Vermeiden,dass mehrere Instanzen eines Java-Programms laufen Java Basics - Anfänger-Themen 2
B nach Zeichen suchen dass im string mehrmals vorkommt Java Basics - Anfänger-Themen 3
J Rekursiv muss dass laufen! Java Basics - Anfänger-Themen 11
K Brauche nur Tipps Leute habe keine plan wie ich dass machen Java Basics - Anfänger-Themen 4
T Suche ein array dass dir stets die freien indexe gibt Java Basics - Anfänger-Themen 7
M Java-Software so anbieten, dass sie leicht zu starten ist Java Basics - Anfänger-Themen 16
C Mein Programm rechnet lieber als dass es malt - warum? Java Basics - Anfänger-Themen 10
T Programm so abbrechen, dass finally ausgeführt wird Java Basics - Anfänger-Themen 7
U super-Konstruktor Aufrufen mit Object, dass Exception wirft Java Basics - Anfänger-Themen 2
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
A Negativ-Wert Java Basics - Anfänger-Themen 4
R finaler Wert in outerMethod von method in InnerMethodClass Java Basics - Anfänger-Themen 2
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Datum als Variable wert Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
K Java gleicher Wert von Zahlen? Java Basics - Anfänger-Themen 5
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
M Spezifischen Wert einer Zeile aus .txt Datei entnehmen Java Basics - Anfänger-Themen 15
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
S Runden auf den niedrigsten Wert Java Basics - Anfänger-Themen 10
volcanos enum und switch (neu): falschen Wert mit IllegalArgumentException oder mit EnumConstantNotPresentException abfangen ? Java Basics - Anfänger-Themen 51
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
T Mit jedem Wert in der for-Schleife weiter arbeiten Java Basics - Anfänger-Themen 3
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Eingabe in Char wert umwandeln Java Basics - Anfänger-Themen 7
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
I Historisierung - Alter Wert, Neuer Wert... wie speichern? Java Basics - Anfänger-Themen 44
J Wert in Dropdown Menü kursiv schrieben Java Basics - Anfänger-Themen 19
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben