Calcul de la fréquence de chaque mot dans une phrase en Java
Je suis en train d'écrire un très de base programme java qui calcule la fréquence de chaque mot dans une phrase jusqu'à présent j'ai réussi à faire tout cela beaucoup
import java.io.*;
class Linked {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter the sentence");
String st = br.readLine();
st = st + " ";
int a = lengthx(st);
String arr[] = new String[a];
int p = 0;
int c = 0;
for (int j = 0; j < st.length(); j++) {
if (st.charAt(j) == ' ') {
arr[p++] = st.substring(c,j);
c = j + 1;
}
}
}
static int lengthx(String a) {
int p = 0;
for (int j = 0; j < a.length(); j++) {
if (a.charAt(j) == ' ') {
p++;
}
}
return p;
}
}
J'ai extrait chaque chaîne et de les stocker dans un tableau , maintenant le problème est en fait la manière de compter les pas de cas où chaque " mot " est répété et comment les afficher, de sorte que les mots répétés pas affiché plusieurs fois , pouvez-vous m'aider dans cette ?
source d'informationauteur Sigma
Vous devez vous connecter pour publier un commentaire.
L'utilisation d'une carte avec le mot clé et le comte de la valeur, quelque chose comme ça
si vous n'êtes pas autorisé à utiliser java.util alors vous pouvez trier arr à l'aide de certains de tri algorithme et de le faire
Une solution intéressante avec ConcurrentHashMap depuis Java 8
Dans Java 8, vous pouvez écrire deux lignes simples! En outre, vous pouvez profiter de calcul parallèle.
Voici la plus belle façon de le faire:
Essayer cette
De sortie:
Vous pouvez essayer ce
De sortie:
{a=3,=1, mai=1 oui=1, ce=7, environ=1, i=1,=3,=1,=1, non=1, ce=1, soins=1}
De Java 10, vous pouvez utiliser les éléments suivants:
De sortie:
Déterminer la fréquence des mots dans un fichier.
}
Le programme suivant se trouve la fréquence, les trie en conséquence, et l'imprime.
Ci-dessous est la sortie regroupés en fréquence:
Voici mon programme:
Simplement utiliser Java 8 Flux de collectionneurs groupby fonction: