Faire un tabMax d'un tableau de char
kaldax73
Messages postés
71
Date d'inscription
Statut
Membre
Dernière intervention
-
kaldax73 Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
kaldax73 Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
Bonjour, comme dit dans le titre je voudrais savoir s'il était possible de faire une fonction max d'un tableau de char ? En gros y'a une tableau de char {s,s,s,s,t,t,k,k} et la fonction m'affiche que la lettre qui apparaît le plus dans le tableau est 's' j'ai fait un bout de code comme ici :
String str = "salusss les copains";
char [] str2 = str.toCharArray(); ://donc je transforme le String en tableau de char pour que ce soit plus simple
char elem = Maxtab(str2); :// j'ai déjà fait une fonction max tab qui retourne le maximum du tableau mais moi je voudrais un maxtab qui affiche comme j'ai dit en haut la lettre qui apparaît le plus pour un tableau de char
A voir également:
- Faire un tabMax d'un tableau de char
- Tableau word - Guide
- Trier un tableau excel - Guide
- Comment faire un tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
2 réponses
Bonjour,
Pour y arriver tu devrais passer par une Map qui compte les occurrences de chaque valeur.
Tu peux regarder ce code par exemple :
https://mkyong.com/java8/java-8-collectors-groupingby-and-mapping-example
Ensuite, il faudra parcourir cette Map pour trouver la valeur qui a le plus grand nombre d'occurrences.
Pour y arriver tu devrais passer par une Map qui compte les occurrences de chaque valeur.
Tu peux regarder ce code par exemple :
https://mkyong.com/java8/java-8-collectors-groupingby-and-mapping-example
Ensuite, il faudra parcourir cette Map pour trouver la valeur qui a le plus grand nombre d'occurrences.
Merci de ta réponse!
Il n'y a pas moyen de faire ça sans rien importer ?
Il n'y a pas moyen de faire ça sans rien importer ?
Sans jamais rien importer du tout (c'est à dire se limiter à java.lang) ça va rapidement être compliqué de coder tout ce qu'il te faut. Java est fourni avec une large bibliothèque de classes qu'il faut apprendre à utiliser.
Dans ton cas, je ne vois pas comment tu peux faire sans au moins importer java.util.HashMap (ou java.util.TreeMap au choix).
Dans ton cas, je ne vois pas comment tu peux faire sans au moins importer java.util.HashMap (ou java.util.TreeMap au choix).
Pour un exercice tu peux bien sûr tout refaire, mais c'est vraiment purement scolaire, dans la réalité on ne s’embêterait jamais à faire comme ça...
Tu peux par exemple, utiliser deux tableaux
Avec ton tableau d'exemple
La recherche du maximum (6) correspondra donc à la lettre
Tu peux par exemple, utiliser deux tableaux
char[] dejaVuset
int[] occurences.
Avec ton tableau d'exemple
[s,a,l,u,s,s,s, ,l,e,s, ,c,o,p,a,i,n,s]ton traitement devrait produire :
dejaVus = [s,a,l,u, ,e,c,o,p,i,n] occurences = [6,2,2,1,2,1,1,1,1,1,1]
La recherche du maximum (6) correspondra donc à la lettre
srecherchée.