skip to main content

kiesler.at

Morsecode mit Hashtable entschlüsseln
updated by rck, 2006-03-25

Aufgabe 4108 von der EPROG-Beispielsammlung handelt vom Entschlüsseln von MORSE-Code. Das ist was praktisches, Morse Code eignet sich zB auch zum unerkannten Lösungsdurchfunken bei Prüfungen.

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

Die Codetabelle

Unser Programm ist in zwei Module geteilt: Die Codetabelle (morsen/Translate.java) und das Entmorsen-Modul (morsen/Entmorsen.java), welches einen String gemäß Codetabelle entschlüsselt.

Die Codetabelle ist nun nichts anderes als eine Erweiterung der Hashtable. Einziger Unterschied: Es stehen schon Daten drinnen, der Morsecode eben.

Zum Thema objektorientiert: Ja, unser Programm ist objektorientiert. Wir haben das Objekt Hashtable und schreiben uns ein Objekt, welches alle Eigenschaften dieser Hashtable hat. Das Erweitern wir dann.

Aus dem Listing:

16 public class Translate extends Hashtable{

So schnell hat man ein Objekt, welches sämtliche Eigenschaften der Klasse Hashtable hat.

morse/Translate.java (Auszug)

Der Rest ist dann auch nicht schwer. Wir schreiben einfach im Konstruktor (=die Methode, die automatisch beim Instanzieren, bei der Speicheranforderung für das Objekt ausgeführt wird) alle unsere Codes in die Hashtable. Ein Auszug:

28                 this.put(".-",          "A");
29                 this.put("-...",        "B");
30                 this.put("-.-.",        "C");
31                 this.put("-..",         "D");
32                 this.put(".",           "E");
33                 this.put("..-.",        "F");
34                 this.put("--.",         "G");
35                 this.put("....",        "H");
36                 this.put("..",          "I");
37                 this.put(".---",        "J");
38                 this.put("-.-",         "K");
39                 this.put(".-..",        "L");

Vorher rufen wir noch den Konstruktor von der Hashtable auf, falls dieser was wichtiges zu tun hat:

21                 super();

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8



RSSComments - Make a comment
The comments are owned by the poster. We are not responsible for its content.
RSSAll Articles
2008, 2007, 2006, 2005, 2004