Verschlüsselung

eclipse18

Mitglied
Hallo,
Ich versuche mir die Programmierung anhand von Eclipse beizubringen und bin nun auf eine "Aufgabe" gestossen, die bei mir für Kopfzerbrechen sorgt.
Und zwar soll ein Codewort und ein Text, den es zu verschlüsseln gilt, eingelesen werden. Das Codewort habe ich in ein Array gespeichert und den Text mit Hilfe von "char" eingelesen. Das klappte auch soweit.
Dann aber sollte immer wenn ein Zeichen des Codewortes in dem Text vorkommt, dieses Zeichen durch dessen Position im Codewort ersetzt werden. (Beispiel: Codewort: haus, Text: Der Ball rollt den Berg hinab. Ausgabe: Der B2ll rollt den Berg 1in2b.)
Meine Frage ist nun, ob eventuell jemand ein Denkanstoss für mich hat. Ich habe schon einiges ausprobiert allerdings wurde der Text immer unverändert ausgegeben. 🙁
Ich danke Euch schonmal 🙂
 
Zuletzt bearbeitet:
Zeig mal deinen Ansatz, bitte 😉 Wir haben keine mystischen Glaskugeln, aus "geht nicht" lässt sich also schwer ablesen, warum 🙂
 
Ich hatte gerade wieder alles rausgelöscht und bin von Null angefangen, weil das ganze hinten und vorne nicht funktioniert hat. Nun bin ich gerade dabei ein neues zu schrieben.
Also ich habe jetzt erstmal zum testen angenommen, dass ein 6- stelliges Codewort eingegeben wird. Dies habe ich auch jetzt wieder, wie oben beschrieben, in ein Array gespeichert, da ich diese Übungsaufgabe im Internet unter dem Thema "Arrays" fand. Auch den Text habe ich erneut so eingegeben.
Nun werde ich mal etwas komplett neues probieren, wobei ich merke, dass ich erneut scheitern werde. 🙁
Hier mein Codeschnipsel (eingabe von Text und Codewort habe ich weggelassen, da dies funktionierte):

if (text == Codewort ){
Codewort [0] = 1;
Codewort [1] = 2;
Codewort [2] = 3;
Codewort [3] = 4;
Codewort [4] = 5;
Codewort [5] = 6;
// Buchstaben des Codewortes in deren Positiion im Wort umwandeln

Im Anschluss wollte ich nun die betroffenen Buchstaben im Text austauschen und durch die Zahlen ersetzen.
Oder wird dieser Ansatz wieder in die Wüste führen?
 
Ach herrje, da ist Erklärungsbedarf:
Java:
  if (text == Codewort [i]){
Hier vergleichst du, ob der gesamte Text mit einem Buchstaben des Codwortes übereinstimmt. Und dass man einen Text(
Code:
String
) nicht mit einem Buchstaben(
Code:
char
/
Code:
Character
) verlgiechen kann sollte spätestens jetzt klar sein.


Java:
     Codewort [0] = 1;
     Codewort [1] = 2;
     Codewort [2] = 3;
     Codewort [3] = 4;
     Codewort [4] = 5;
     Codewort [5] = 6;
     // Buchstaben des Codewortes in deren Positiion im Wort umwandeln

Was hier passiert ist folgendes: Du ÜBERSCHREIBST das Codewort. Undzwar überschreibst du Buchstaben(
Code:
char
/
Code:
Character
) mit Zahlen(
Code:
int
). Auch das macht 0 Sinn.


Ergo:
Mach erstmal noch ein paar ganz grundlegende Tutorials zu Datentypen, Vergleichen / Bedingungen und Arrays.
Und dann kannst du dich an dieser Aufgabe nochmal versuchen.
 
Zuletzt bearbeitet:

Zurück
Oben