Ich habe versucht, ein Programm in Java zu erstellen, das jedes Wort ausgibt, das in einer Zeichenfolge gefunden wird, und die Anzahl, wie oft sie angezeigt werden. Ich habe versucht, dies zu tun, ohne irgendwelche Arrays oder hashmap zu verwenden, und indem ich nur String-Manipulation Methoden und String-Tokenizer, aber ich kann nicht scheinen, meinen Kopf um die Logik zu wickeln.Wie erstellt man einen Worthäufigkeitszähler in Java ohne hashmap oder Arrays?
Hier ist was ich bisher habe.
Scanner sc=new Scanner(System.in);
String input="";
int count=1;
String word="";
System.out.println("Enter your paragraph.");
input=sc.nextLine();
StringTokenizer st=new StringTokenizer(input);
while(st.hasMoreTokens()){
word=st.nextToken();
while(st.hasMoreTokens()){
if(st.nextToken()==word){
count++;
}
}
System.out.println(word+": "+count);
input=input.replaceAll(currentToken," ")
count=1
}
Der Ausgang, den ich gerade empfange, ist (das erste eingegebene Wort) = 0.
Irgendwelche Hilfe oder Ratschläge mit diesem oder irgendetwas, um mich in die richtige Richtung zu führen?
Warum die Einschränkung gegen Hashmaps? – coolioasjulio
Javadoc von ['StringTokenizer'] (https://docs.oracle.com/javase/9/docs/api/java/util/StringTokenizer.html) seit Java 1.4 (2002): *' StringTokenizer' ist ein ** Legacy-Klasse **, die aus Kompatibilitätsgründen beibehalten wird, obwohl ** in neuem Code ** davon abgeraten wird. Es wird empfohlen, dass jemand, der diese Funktionalität sucht, stattdessen die 'Split'-Methode von' String' oder das 'java.util.regex'-Paket verwendet. * --- Sagen Sie Ihrem Lehrer, dass er dieses 15 Jahre alte Lehrmaterial wegwerfen soll. Es ist an der Zeit, Material aus diesem Jahrzehnt zu bekommen. – Andreas
@coolioasjulio Ich bin in der Schule und habe noch nichts über Hashmaps gelernt. Ich versuche das herauszufinden, indem ich nur grundlegendes Java-Wissen verwende. – fizzle