Hi,
ich habe die Aufgabe einen encoder und einen decoder für Morse Codes zu schreiben.
Der Encoder war kein Problem: ich habe mir den String als char array ausgeben lassen und bin dann über jeden Index gegangen und habe ihn mit verglichen und mit switch() geändert.
Doch funktioniert dieses Prinzip auch beim decoden. Ich gebe der Methode ja einen Morsecode. Wenn ich daraus ein array von "." und "-". Diese kann ich ja jetzt schlecht abgleichen, da z.B. das "A" ein ".-" und ich nur ein Zeichen in dem char array habe.
Meine Idee bis jetzt dazu:
Ich hoffe, ich konnte verständlich machen, was ich meine.
ich habe die Aufgabe einen encoder und einen decoder für Morse Codes zu schreiben.
Der Encoder war kein Problem: ich habe mir den String als char array ausgeben lassen und bin dann über jeden Index gegangen und habe ihn mit verglichen und mit switch() geändert.
Doch funktioniert dieses Prinzip auch beim decoden. Ich gebe der Methode ja einen Morsecode. Wenn ich daraus ein array von "." und "-". Diese kann ich ja jetzt schlecht abgleichen, da z.B. das "A" ein ".-" und ich nur ein Zeichen in dem char array habe.
Meine Idee bis jetzt dazu:
Java:
public static String decode(String input) {
String codeTwo = "";
char charactersTwo[] = input.toUpperCase().toCharArray();
for (int i = 0; i < charactersTwo.length; i++) {
switch (charactersTwo[i]) {
case ".-":
codeTwo += "A";
break;
case '-'+'.'+'.'+'.':
codeTwo += "B";
break;
case '-'+'.'+'-'+'.':
codeTwo += "C";
break;
case '-'+'.'+'.':
codeTwo += "D";
break;
case '.':
codeTwo += "E";
break;
case '.'+'.'+'-'+'.':
codeTwo += "F";
break;
Ich hoffe, ich konnte verständlich machen, was ich meine.