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.
Entmorsen -- wie mache ich aus Morsecode was lesbares? | |
---|---|
Mit der Codetabelle ist unser Programm im wesentlichen auch schon fertig. Damit das Entmorsen einfacher klappt, gibt's jetzt noch ein dazupassendes Zwischenst�ck namens "Entmorsen.java". Es nimmt die Hashtable mit dem Code und einen durch den JAVAs StringTokenizer zerlegten Eingabestring und liefert daraus den Klartext. |
der entmorsen-Konstructor | |
---|---|
22 public Entmorsen(Hashtable decode) { Hier merken wir uns die Dekodier-Tabelle, die wir vom Aufrufer bekommen. |
entmorsen() | |
---|---|
27 public String entmorse(String s) 28 throws Exception 29 { 30 if(s.length() > 100) 31 throw new Exception("Morsecode darf nur "+ 32 "h�chstens 100 Zeichen lang sein!"); 33 34 if(!s.startsWith("!")) 35 throw new Exception("Morsecode mu� mit ! "+ 36 "anfangen!"); 37 38 StringTokenizer st=new StringTokenizer(s, "!"); 39 String decoded=""; 40 41 while(st.hasMoreTokens()) 42 decoded += decode.get(st.nextToken()); 43 44 return(decoded); 45 } |
Beschreibung entmorsen() | |
---|---|
30-36 Nachdem wir die Fehlerf�lle �berpr�ft haben... 38 ...�bergeben wir die Eingabe an einen StringTokenizer. Unser Trennsymbol ist, wie in der Angabe verlangt, ein Rufzeichen. 39 in decoded kommt unser Klartext rein 41 wir gehen alle Tokens (=alle durch ! getrennten W�rter) durch... 42 ...und h�ngen das zum Wort passende Zeichen aus der Hashtable an unseren Klartext an. 44 fertig! |
Disclaimer | |
---|---|
Eigentlich schl�gt die Angabe eine rekursive L�sung vor. Ok, der Morsecode l�sst sich recht gut als Bin�rbaum abbilden, den man traversieren k�nnte. Meiner Meinung nach ist die vorliegende L�sung jedoch klarer, besser wiederverwendbar (f�r �hnliche Aufgabenstellungen) und einfacher zu warten. Wer mag, kann mir gerne eine bessere, rekursive L�sung senden! |
Comments - Make a comment |
The comments are owned by the poster. We are not responsible for its content. |
AdministrativeTexts
updated by freddiemac1993, 2013-06-14
wiki
Re: adventures
created by brittdavis10, 2012-02-23 (1 rply, 3 views)
thread
Re: how to run phpwebsite...
created by alexander, 2011-08-25 (2 rpls, 3607 views)
thread
Re: Forum tags
created by HaroldFaragher, 2011-08-22 (3 rpls, 8488 views)
thread