/*Hier speicherst Du in 2 char Arrays Deine Verschlüsselung. alph1 enthält das Ursprungsformat
*(quasi das Alphabet, evtl. noch mit Zahlen), alph2 enthält die Verschlüsselung. D.h. in diesem Beispiel
*ist die Verschlüsselung fest definiert. Willst Du die Verschlüsselung beim Aufruf Deines Programms
*übergeben, musst Du alpha2 mit dem übergebenen Wert füllen. Bei der Übergabe der Verschlüsselung
*solltest Du prüfen, dass es für jede Position in alpha1 eine Entsprechung in alpha2 gibt.
*/
char[] alph1 = {'A', 'a', ...}
char[] alph2 = {'L', 'l', ...}
String input = ...;
String output = "";
/*In diesem Beispiel wird die Verschlüsselung nicht als Parameter übergeben. Stattdessen erfolgt der
*Aufruf mit java +Hello bzw. java -Hello. Über + und - wird festgelegt, ob codiert oder decodiert werden
*soll. Deswegen die Abfrage startsWith. Dementsprechend wird also encode oder decode aufgerufen.
*/
if(input.startsWith("+"))
encode(input);
else if(input.startsWith("-"))
decode(input);
else
//ungültig
/*Beim Codieren oder Decodieren erfolgt nichts anderes als ein zeichenweises Ersetzen. Dies wird
*durch zwei geschachtelte for-Schleifen realisiert. D.h. for(int i = 0... durchläuft den übergebenen
*String und sucht mit for(int j = 0... an welcher Stelle das aktuelle Zeichen in alph1 steht. Wenn
*if(in.charAt(i) == alph1[j]) ist dies der Fall und die Position für das Ersatz-/Verschlüsselungszeichen
*aus alph2 steht fest. Mit diesem Zeichen aus alph2 erstellst Du dann den verschlüsselten String, also
*output +=alph2[i].
void encode(String in) {
for(int i = 0; i < in.length(); i++) {
for(int j = 0; j < alph1.length; j++) {
if(in.charAt(i) == alph1[j])
output += alph2[j];
}
}
}
/*Beispiel alph1 und alph2 (ohne Kleinbuchstaben)
*
*A B C D E F G H I J K L ... (alph1)
*X Y D R S Z T G L I C P ... (alph2/Verschlüsselung)
*
*zu verschlüsseln: AFFE
*
*Über die for-Schleifen wird die Position in der Verschlüsselung ermittelt:
*
*A -> 0 -> X
*F -> 5 -> Z
*F -> 5 -> Z
*E -> 4 ->S
*/
//Statt String würde ich für output StringBuilder verwenden.