Hallo Zusammen,
ich bräuchte bräuchte Hilfe bei einer Methode , die die Anzahl von Wörtern in einem Array zählt.
Die Stelle wo ich nicht weiter komme ist, dass die Methode zwar richtig zählt, aber wenn das gleiche Wort nochmal drankommt fängt er von vorne an und es kommt am Ende dann wieder 1 dabei raus.
Ich muss (glaube ich) also eine Lösung finden, in der ich schon verarbeitete Wörter "entferne" oder halt dafür sorge, dass diese eben nicht nochmal verarbeitet werden.
Ich schätze ich brauche ein neues Array dafür, aber ich glaube das wäre zu umständliche, auch an eine ArrayList habe ich gedacht, aber die Aufgabe basiert hier halt auf ein Array. Ich weiß nicht, ob ich eine Arraylist nutzen darf. Die einfachste Lösung schien mir die im Code zu sein.
Vlt könnt ihr mir ja weiter helfen
Mein Code
Danke sehr
ich bräuchte bräuchte Hilfe bei einer Methode , die die Anzahl von Wörtern in einem Array zählt.
Die Stelle wo ich nicht weiter komme ist, dass die Methode zwar richtig zählt, aber wenn das gleiche Wort nochmal drankommt fängt er von vorne an und es kommt am Ende dann wieder 1 dabei raus.
Ich muss (glaube ich) also eine Lösung finden, in der ich schon verarbeitete Wörter "entferne" oder halt dafür sorge, dass diese eben nicht nochmal verarbeitet werden.
Ich schätze ich brauche ein neues Array dafür, aber ich glaube das wäre zu umständliche, auch an eine ArrayList habe ich gedacht, aber die Aufgabe basiert hier halt auf ein Array. Ich weiß nicht, ob ich eine Arraylist nutzen darf. Die einfachste Lösung schien mir die im Code zu sein.
Vlt könnt ihr mir ja weiter helfen
Mein Code
Java:
public class WörterzählenHashmap3 {
public static void main(String[] args) {
String[] wörter = { "ist", "klar", "hier", "hier" };
HashMap<String, Integer> erg = new HashMap<>();
int count = 0;
for (int i = 0; i < wörter.length; i++) {
String wort = wörter[i];
for (int e = i; e < wörter.length; e++) {
if (wörter[i].equals(wörter[e])) {
count++;
}
}
erg.put(wort, count);
count = 0;
//Hier versuche ich die Wörter bei jedem Durchlauf zu "löschen"
if(wörter[i].equals(wort)) {
wörter[i]="";
}
}
System.out.println(erg);
}
}
Danke sehr