Pg java

nour -  
tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   -
Salut
S V P je veut comment realiser un programme java qui a comme paramaitre un texte et il affiche un tableau de tous les mots de ce programme avec le nombre d'occurrences de chaque mot.
A voir également:

2 réponses

francis
 
En gros ta un exercice a faire et t'a la flemme de le faire, donc tu demande sur les forums.
0
tarek_dotzero Messages postés 817 Date d'inscription   Statut Membre Dernière intervention   122
 
Salut,

Votre programme sera constitué de trois classes (minimum).

Une première classe: Mot

public class Mot
{
      String valeur;
      int nombreOccurences;

/* Puis les méthodes de get et set */
}


Une deuxième class ListeMots

import java.util.*;
public class ListeMots
{
          ArayList<Mot> listeMots = new ArrayList<Mot>();
          
          public int contientMot(String mot)
          {
               /* La méthode qui nous donne la position du mot et -1 si non trouvé, à faire*/
          }

          public void ajouterMot(String mot)
          {
               /* Ajoute un mot à la fin */
          }

          public void incremonterNombreOccurence(int position)
          {
                /* Incrementer le nombre d'occurences du mot dans la position "position", à faire */
           }

           public void Afficher()
           {
           }

}



Et la dernière classe qui conetient le "main":

Je pense que le paramètre est le nom du fichier texte (si le paramètre est passé via la ligne de commande), l'essentiel si c'est le nom il faut lire le fichier et mettre son contenu dans une String (voir les objets: File, FileInputStream), sinon vous avez votre texte est déjà une String.

Vous creez une instance de la classe ListeMots.

Maintenant comment extraire les mots simple (en utilisant la ponctuation, soit disons, standard): StringTokenizer

Un exemple de la doc officielle:
     StringTokenizer st = new StringTokenizer("this is a test");
     while (st.hasMoreTokens()) {
         System.out.println(st.nextToken());
     }



Comment faire pour le poids?

Vous aller utiliser les méthodes que vous avez créer dans la classe ListeMot:

1. Tu prend un mot (récuperé grace à String mot = st.nextToken()).
2. Tu le cherche dans ta liste (position = liste.contientMot(mot)), si position différente de -1 alors incrementerNombreOccurence(position) sinon ajouterMot(mot).

à la fin, quand vous sortez de la boucle: liste.Afficher();
0