Hey 
Ich schreibe ein Programm welches die Wörter einer txt datei zählen soll und ausgeben soll wie oft jedes wort vorkam. mein programm kann die datei einlesen und auch die wörter insgesamt zählen.
Bei dem Schritt in dem das Programm jetzt aber die häufigkeit jedes einzelnen wortes zählen soll komm ich ins stocken...
Ich habe 2 probleme:
1. Mein und mein sind das selbe wort(als beispiel; am anfang eines satzes Mein, innerhalb mein)
2. wie vergleiche ich strings überhaupt? und vorallem mit problem 1. einbezogen....
ich benutze zwei methoden um die datei einzulesen und die wörter zu zählen. Die einzelnen wörter sollen dann in eine arraylist >verbindung< welche das wort und die häufigkeit dieses beinhalten soll eingefügt werden.
Hier die methoden und die klasse Verbindung:
und hier die Verbindung:
Hoffentlich könnt ihr mir anregungen geben wie ich diese aufgabe bewältigen könnte.
Schonmal danke im vorraus für die die sich die zeit nehmen mir zu helfen.
Mfg Sharlatan
Ich schreibe ein Programm welches die Wörter einer txt datei zählen soll und ausgeben soll wie oft jedes wort vorkam. mein programm kann die datei einlesen und auch die wörter insgesamt zählen.
Bei dem Schritt in dem das Programm jetzt aber die häufigkeit jedes einzelnen wortes zählen soll komm ich ins stocken...
Ich habe 2 probleme:
1. Mein und mein sind das selbe wort(als beispiel; am anfang eines satzes Mein, innerhalb mein)
2. wie vergleiche ich strings überhaupt? und vorallem mit problem 1. einbezogen....
ich benutze zwei methoden um die datei einzulesen und die wörter zu zählen. Die einzelnen wörter sollen dann in eine arraylist >verbindung< welche das wort und die häufigkeit dieses beinhalten soll eingefügt werden.
Hier die methoden und die klasse Verbindung:
Java:
public String dateiLesen() {
String auslese = "";
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = null;
while ((line = br.readLine()) != null) {
auslese = auslese + " " + line;
}
br.close();
woerterZahl = zaehlen(auslese);
}
catch (IOException e) {
System.out.println(e.getMessage());
}
return auslese;
}
Java:
private static int zaehlen(String auslese) {
int n = 0;
// zählen
String[] splitResult = auslese.split(" ");
// int i =1;
for (String wort : splitResult) {
// Problemfall Leerzeile erkennen
if (wort.equals(new String(""))) {
continue;
}
// Problemfall Satzzeichen erkennen/entfernen
if (wort.equals(new String("-"))) {
continue;
}
// Problemfall Worttrennung (/) erkennen
if (wort.contains("/")) {
String[] splitResult1 = wort.split("/");
n += splitResult1.length;
continue;
}
n++;
}
return n;
}
und hier die Verbindung:
Java:
public class Verbindung {
private int hauefigkeit;
private String wort;
public Verbindung(int haeufigkeit, String wort){
this.hauefigkeit = haeufigkeit;
this.wort = wort;
}
public int getHauefigkeit() {
return hauefigkeit;
}
public void setHauefigkeit(int hauefigkeit) {
this.hauefigkeit = hauefigkeit;
}
public String getWort() {
return wort;
}
public void setWort(String wort) {
this.wort = wort;
}
}
Hoffentlich könnt ihr mir anregungen geben wie ich diese aufgabe bewältigen könnte.
Schonmal danke im vorraus für die die sich die zeit nehmen mir zu helfen.
Mfg Sharlatan
Zuletzt bearbeitet: