ich habe ein Programm geschrieben das einen Text einliest ihn in die einzelnen Wörter zerstückelt und dann in eine HashMap mit einem Int schreibt der die Häufigkeit angibt.
Ich habe auch noch eine Klasse Leser in der Alle read Methoden drin stehn:
Die Frage von Mir:
Ich führe das Programm gerade zum ersten Mal aus, und naja es läuft schon seit 10 minuten.
Der Text hat knapp 900000 Wörter kann es sein das es so lange bracuht ?
Java:
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> hm = new HashMap<String, Integer>(); //HashMap wird generiert
Leser r = new Leser(); //Leser wird generiert
String zeile; //String Variable
r.open(); //Leser wird gestartet
zeile = r.read(); //in Zeile wird die gesamte 1. Zeile eingetragen
while (zeile != null) {
zeile.toLowerCase(); //in zeile werden alle Buchstaben klein gemacht
//----Statt ,.?! wird ein Space eingefügt
zeile.replace(",", "");
zeile.replace(".", "");
zeile.replace("?", "");
zeile.replace("!", "");
String[] a = zeile.split(""); //bei jedem Space wird die Zeile gesplittet und dann ins Array eingetragen
//----Die Wörter werden ab hier in die HashMap eingetragen
for (int i = 0; i < a.length; i++) {
if (a[i].length() > 0) { //Kontrolliert ob überhaupt Wörter im Array liegen
//----Wörter werden eingetragen
if (hm.containsKey(a[i]) == true) { //Zweigt ab Falls das Wort schon eingetragen wurde
int j = 0;
j = hm.get(a[i]); //j bekommt den Wert der in der HashMap steht
j++;//j wird um eins erhöht
hm.put(a[i], j);//Der eintrag wird in der Hashmap überschrieben
}
else { //Zweigt ab falls das Wort noch nicht eingetragen wurde
hm.put(a[i], 1); //Wort wird eingetragen
}
}
}
}
r.close();
}
}
Ich habe auch noch eine Klasse Leser in der Alle read Methoden drin stehn:
Java:
import java.io.*;
public class Leser {
BufferedReader reader;
public void open() {
try {
FileReader file = new FileReader("Angabe2xHDV-5-shaks12.txt");
reader = new BufferedReader(file);
} catch (Exception e) {
System.out.println("Fehler: " + e.getMessage());
}
}
public String read() {
String zeile = null;
if (reader == null)
System.out.println("Fehler: Datei nicht geöffnet!");
try {
zeile = reader.readLine();
} catch (Exception e) {
System.out.println("Fehler: " + e.getMessage());
} finally {
return zeile;
}
}
public void close() {
if (reader == null)
System.out.println("Fehler: Datei nicht geöffnet!");
try {
reader.close();
} catch (Exception e) {
System.out.println("Fehler: " + e.getMessage());
System.exit(-13);
}
}
}
Die Frage von Mir:
Ich führe das Programm gerade zum ersten Mal aus, und naja es läuft schon seit 10 minuten.
Der Text hat knapp 900000 Wörter kann es sein das es so lange bracuht ?
Zuletzt bearbeitet: