Lösungsvorschlag 4.2. - Aufgabe 5: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
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=1;i<=txt.length()-1;i++){
+
       for(int i=0;i<=txt.length()-1;i++){
 
           if(c==txt.charAt(i)){j++;};}
 
           if(c==txt.charAt(i)){j++;};}
 
       System.out.println("Der Buchstabe "+c+" kommt "+j+" mal vor.");
 
       System.out.println("Der Buchstabe "+c+" kommt "+j+" mal vor.");

Version vom 4. Dezember 2013, 11:51 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.