Lösungsvorschlag 4.2. - Aufgabe 5: Unterschied zwischen den Versionen
Aus ComeniusWiki
(Die Seite wurde neu angelegt: „<pre> public void buchstabenZaehlen(String txt){ //Zeichenkette in Kleinbuchstaben umwandeln txt=txt.toLowerCase(); //äußere Schleife läuft von a bis z…“) |
|||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | < | + | <syntaxhighlight lang="java"> |
public void buchstabenZaehlen(String txt){ | public void buchstabenZaehlen(String txt){ | ||
Zeile 6: | Zeile 6: | ||
//äußere Schleife läuft von a bis z | //äußere Schleife läuft von a bis z | ||
− | for (char | + | for (char c = 'a'; c <= 'z'; c++){ |
//Zählvariable, um festzuhalten wie oft der jeweilige Buchstabe auftritt | //Zählvariable, um festzuhalten wie oft der jeweilige Buchstabe auftritt | ||
Zeile 12: | Zeile 12: | ||
//innere Schleife läuft jeweils vom ersten bis zum letzten Buchstaben und zählt die Vorkommen des jeweiligen Buchstaben | //innere Schleife läuft jeweils vom ersten bis zum letzten Buchstaben und zählt die Vorkommen des jeweiligen Buchstaben | ||
− | for(int i= | + | for(int i=0;i<=txt.length()-1;i++){ |
− | if( | + | if(c==txt.charAt(i)){j++;};} |
− | System.out.println("Der Buchstabe "+ | + | System.out.println("Der Buchstabe "+c+" kommt "+j+" mal vor."); |
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
+ | |||
+ | Das Programm kann zum Entschlüsseln von einfach verschlüsselten Texten (z.B. Caesarverschiebung) verwendet werden, indem man die [http://de.wikipedia.org/wiki/Buchstabenhäufigkeit Buchstabenhäufigkeit] im verschlüsselten Text mit der Verteilung z.B. im Deutschen vergleicht. Je länger der Ausgangstext, desto höher die Trefferquote. |
Aktuelle Version vom 22. Januar 2015, 13:49 Uhr
public void buchstabenZaehlen(String txt){ //Zeichenkette in Kleinbuchstaben umwandeln txt=txt.toLowerCase(); //äußere Schleife läuft von a bis z for (char c = 'a'; c <= 'z'; c++){ //Zählvariable, um festzuhalten wie oft der jeweilige Buchstabe auftritt int j=0; //innere Schleife läuft jeweils vom ersten bis zum letzten Buchstaben und zählt die Vorkommen des jeweiligen Buchstaben for(int i=0;i<=txt.length()-1;i++){ if(c==txt.charAt(i)){j++;};} System.out.println("Der Buchstabe "+c+" kommt "+j+" mal vor."); } }
Das Programm kann zum Entschlüsseln von einfach verschlüsselten Texten (z.B. Caesarverschiebung) verwendet werden, indem man die Buchstabenhäufigkeit im verschlüsselten Text mit der Verteilung z.B. im Deutschen vergleicht. Je länger der Ausgangstext, desto höher die Trefferquote.