Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Javakurs/Übungsaufgaben/Textwordcount: Unterschied zwischen den Versionen

(Hinweise)
Zeile 13: Zeile 13:
 
** http://de.wikisource.org/wiki/Goethe
 
** http://de.wikisource.org/wiki/Goethe
 
** http://de.wikisource.org/wiki/Karl_May
 
** http://de.wikisource.org/wiki/Karl_May
* Zum Einlesen von Textdateien schaut in der Java API unter ''FileReader'' nach.
+
* Zum Einlesen von Textdateien schaut in der Java API unter ''BufferedReader'', ''InputStreamReader'' und ''FileInputStream'' nach. Hier ein Beispiel wie man diese Klassen benutzen könnte (vergesst bei euch die import-Anweisungen nicht):
 +
 
 +
BufferedReader bufferedReader = new BufferedReader(
 +
          new InputStreamReader(
 +
          new FileInputStream("MeineDatei.txt")));
 +
String line;
 +
boolean endOfFile = false;
 +
while ((line = ) != null) {
 +
    line = bufferedReader.readLine();
 +
    if(line == null){
 +
        endOfFile = true;
 +
    } else{
 +
          // in dem String line steht jetzt die
 +
          // aktuelle Zeile des Programms
 +
    }
 +
}

Version vom 7. April 2007, 17:02 Uhr

Aufgabe

In dieser Aufgabe sollen verschiedene Texte von Johann Wolfgang von Goethe mit Texten von Karl May verglichen werden. Der Vergleich soll mit Hilfe eines Programms geschehen, welches in Java zu schreiben ist und welches für einen bestimmten Text ausgibt:

  • aus wievielen Wörtern der Text besteht
  • welches die 20 Wörter sind, die am häufigsten verwendet wurden
  • wieviele unterschiedliche Wörter benutzt wurden

Hinweise

  • Testet euer Programm erst mit selbstgeschrieben Texten, lasst dann die Texte der genannten Autoren durchlaufen.
  • Die zu vergleichenden Texte müssen natürlich runtergeladen werden. Ihr findet Texte dieser Autoren unter Wikisource:
  • Zum Einlesen von Textdateien schaut in der Java API unter BufferedReader, InputStreamReader und FileInputStream nach. Hier ein Beispiel wie man diese Klassen benutzen könnte (vergesst bei euch die import-Anweisungen nicht):
BufferedReader bufferedReader = new BufferedReader(
          new InputStreamReader(
          new FileInputStream("MeineDatei.txt"))); 
String line;
boolean endOfFile = false;
while ((line = ) != null) {
    line = bufferedReader.readLine();
    if(line == null){
        endOfFile = true;
    } else{
         // in dem String line steht jetzt die
         // aktuelle Zeile des Programms
    }
}