45 lines
1.9 KiB
Java
45 lines
1.9 KiB
Java
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Zaehlt die Anzahl Vorkommnisse von Woertern ueber mehrere Zeichenketten.
|
|
* Es lassen sich eine beliebige Anzahl an Zeichenketten uebergeben. Die
|
|
* Statistik wird fortlaufend gefuehrt. Die Wortzaehlung laesst sich jederzeit
|
|
* ausgeben. Die Satzeichen . , ? ! " : ; werden entfernt. Alle Buchstaben
|
|
* werden in Kleinbuchstaben umgewandelt um beispielsweise das Wort 'die'
|
|
* inmitten eines Satzes und das Wort 'Die' am Anfang eines Satzes als gleiches
|
|
* Wort werten zu koennen.
|
|
*
|
|
* @version 1.0
|
|
* @author XXXX
|
|
*/
|
|
public class Worthaeufigkeitsanalyse {
|
|
// Anstelle der Map dürfen Sie auch andere Datentypen verwenden. Testen Sie auch TreeMap.
|
|
private Map<String, Integer> woerterHaeufigkeit = new HashMap<>();
|
|
|
|
/**
|
|
* Nimmt die uebergebene Zeichenkette in die Worthaeufigkeitsanalyse auf.
|
|
*
|
|
* @param text zu verarbeitende Zeichenkette
|
|
*/
|
|
public void verarbeiteText(String text) {
|
|
// TODO Ihre Implementation
|
|
}
|
|
|
|
/**
|
|
* Ausgabe der Worthaeufigkeitsanalyse auf der Konsole.
|
|
*/
|
|
public void druckeStatistik() {
|
|
for (Map.Entry<String, Integer> wortHaeufigkeit : woerterHaeufigkeit.entrySet()) {
|
|
System.out.printf("%3d %-40s%n", wortHaeufigkeit.getValue(), wortHaeufigkeit.getKey());
|
|
}
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
Worthaeufigkeitsanalyse hauefigkeitsanalyse = new Worthaeufigkeitsanalyse();
|
|
hauefigkeitsanalyse.verarbeiteText("Fritz sagt: \"Die Softwareentwicklung ist meine Leidenschaft!\"");
|
|
hauefigkeitsanalyse.verarbeiteText("Hans meint, er teile die Leidenschaft mit Fritz.");
|
|
hauefigkeitsanalyse.verarbeiteText("John fuegt hinzu, dass die Softwareentwicklung nicht nur aus Programmieren bestehe, sondern es sich dabei um einen komplexen Prozess, bestehend aus vielen kleinen Komponenten, handelt.\"");
|
|
hauefigkeitsanalyse.druckeStatistik();
|
|
}
|
|
} |