Compter occurence

Messages postés
1
Date d'inscription
mercredi 3 août 2005
Statut
Membre
Dernière intervention
19 mai 2007
- - Dernière réponse : Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
- 19 mai 2007 à 13:09
Salut à tous!

J'ai un tableau de string du genre: String [] tableau={"maman","papa","maman","papa","maman","papa","lili"}
je voudrais compter le nombre d'occurrence de chaque mot, je sais pas comment faire. aidez moi s'il vous plait.
Merci
à+
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
29
1
Merci
Salut,

faut faire une map<String, int>, je ne sais pas si ca se fait comme ca en java...

ensuite t'as deux boucles une pour mettre les valeurs a 0 une autre pour les augmenter, et c'est finni ensuite

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de coucou747
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
32
1
Merci
Salut:

C'est de l'algorithmique.

String [] tableau={"maman", "papa", "maman", "papa", "maman", "papa", "lili"};




for (int i = 0; i < tableau.length; ++i) {
   
    System.out.print ("Nombre d'occurence de " + tableau [i] " = ");
   
    int counter = 1;
    for (int j = i + 1; j < tableau.length; ++j) {
       // Ignorer la case
       if (tableau [i].compareToIgnoreCase (tableau [j]) == 0) {
            ++counter;
       }
       // Ne pas ignorer la case
      
//if (tableau [i].compareTo (tableau [j]) == 0) {

       //     ++counter;

       //}


    }
    System.out.println (counter);
}

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 212 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
32
0
Merci
Salut:

J'ai du oublier une détail, le tableau doit être trié.

Petite modification:

String [] initialArray = {"papa", "maman", "...", "...", "...", "..."};
int length = initialArray.length;

ArrayList<String> arrayList = new ArrayList<String> ();
for (int i = 0; i < length; ++i) {
    arrayList.add (initialArray [i]);
}

// Tri
Collections.sort (arrayList);

String [] sortedArray = new String [length];
for (int i = 0; i < length


; ++i) {
    sortedArray [i] = arrayList.get (i);
}

int i = 0;
while (i < length) {
   
System.out.print ("Nombre d'occurence de " + sortedArray [i] " = ");

    int occ = 1;
    int j   = i + 1;

    while (j < length) {
       if (sortedArray [i].compareTo (sortedArray [j]) == 0) {
           ++occ;  
       }
       else {
          break;
       }
       ++j;
    }
   
System.out.println (occ);


    i = j;


}
Commenter la réponse de Ombitious_Developper