diff --git a/2Semester/src/Map/BuchstabenHaefigkeit.java b/2Semester/src/Map/BuchstabenHaefigkeit.java new file mode 100644 index 0000000..4510dbd --- /dev/null +++ b/2Semester/src/Map/BuchstabenHaefigkeit.java @@ -0,0 +1,36 @@ +package Map; + +import java.util.*; + +public class BuchstabenHaefigkeit { + public static Map ermittleBuchstabenHaeufigkeit(String text) { + Map buchstabenHaeufigkeiten = new HashMap<>(); + + // Entfernen von Leerzeichen und Umwandeln in Kleinbuchstaben + text = text.replaceAll(" ", "").toLowerCase(); + + // Zählen der Buchstaben + for (char buchstabe : text.toCharArray()) { + buchstabenHaeufigkeiten.put(buchstabe, buchstabenHaeufigkeiten.getOrDefault(buchstabe, 0) + 1); + // System.out.println(buchstabenHaeufigkeiten.get(buchstabe)); + + } + + return buchstabenHaeufigkeiten; + } + + public static void zeigeBuchstabenHaeufigkeit(Map buchstabenHaeufigkeiten, int textLaenge) { + for (Map.Entry entry : buchstabenHaeufigkeiten.entrySet()) { + char buchstabe = entry.getKey(); + int haeufigkeit = entry.getValue(); + double prozent = (haeufigkeit / (double) textLaenge) * 100; + System.out.println(buchstabe + ": " + prozent + "%"); + } + } + + public static void main(String[] args) { + String text = "Lorem ipsum dolor sit amet"; + Map buchstabenHaeufigkeiten = ermittleBuchstabenHaeufigkeit(text); + zeigeBuchstabenHaeufigkeit(buchstabenHaeufigkeiten, text.length()); + } +}