IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Tableau et lettre :P


Sujet :

Collection et Stream Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Par défaut Tableau et lettre :P
    Salut,

    Voila, j'ai un petit devoir à remettre et ça fait maintenant 4heures que je suis dessus, pas moyen de trouver la logique ...

    Je dois générer 100 lettres aléatoires et les mettre dans un tableau. Ensuite, je dois compter le nombre d'occurence de chaque lettre. Alors, j'ai décidé de faire un tab de taille 26 afin que les indices représente le nombre d'occurence de chaque lettre. Cependant, je ne vois pas comment faire ... faire une comparaison entre la premiere lettre et la seconde puis la mettre à l'élément 0 puis augmenter l'indice de 1 pour le tableau afin de passer à une autre lettre ... Enfin bref ... J'suis perdu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class laboratoire1 {
    	public static void main(String[] args) {
     
    		int []tableauLettre;
    		tableauLettre= new int [26];
    		int i= 0;
    		int nombreOccurence= 0;
    		for (int i= 0; i < 100; ++i)
    			{
    			int nombre= 97 + (int) (Math.random() * 22);
    			char premiereLettre= (char) nombre;
    			}
    	    }
    	}

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int []tableauLettre;
    tableauLettre= new int [26];
    D'abord il faut initialiser ton tableau et mettre tous les éléments à zéro.
    Ensuite il faut faire quelquechose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for (int i= 0; i < 100; ++i)
    {
    int nombre= (int) (Math.random() * 26);
    tableauLettre[nombre]++;
    }

  3. #3
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    première question, c'est tableaux obligatoirement ou alors tu as le droit aux collections ?

    Pour les tableaux :

    Bon déjà il te fait 2 tableaux. 1 pour y mettre 100 lettres aléatoirement, et un de taille 26 comme tu dis pour stocker le nombre d'occurrence de chaque lettre

    Pour remplir aléatoirement ton tableau de lettre tu as plusieurs méthodes. La plus simple à mon avis, c'est d'avoir un tableau de char contenant les 26 lettres de l'alphabet, et tu y accède aléatoirement (math.random modulo 26 (ou 25 ??)) pour remplir ton tableau de 100

    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int i=0; i<100; i++)
          tableauAléatoire[i] = tableauLettes[math.random() % 25]
    Ensuite pour compter le nombre d'occurrences, tu peux te servir de ton tableau des 26 char au début. Mais bon c'est une méthode un peu barbare

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       pour chacune des lettres de ton tableau de 26 char faire
            pour chacune des cases de ton tableau aléatoire faire
                    si case aléatoire = lettre en cours
                         ajouter +1 au nombre d'occurrences
            fin pour
       fin pour

    c'est peut etre pas la plus belle solution? Je te laisse te dépatouiller avec le langage lui-même. Pause des questions au besoin, mais pas avant d'avoir essayé

    En espérant t'avoir mis sur la voie sans t'avoir trop aider quand même

    bon courage

  4. #4
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Etant donné que les nombres aléatoires générés doivent être des entiers pourquoi ne pas utiliser la classe Random et sa méthode nextInt(int n) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Random random = new Random();
    int charIndex = random.nextInt(26);
    Je pense aussi que l'utilisation d'une Map<K, V> pourrait se révéler appropriée. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Map<Character, Integer> map = new HashMap<Character, Integer>();
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par le y@m's
    Je pense aussi que l'utilisation d'une Map<K, V> pourrait se révéler appropriée.
    c'est clair mais à mon avis, pour une première approche du langage, on commence par les tableaux basiques ... histoire de pas trop embrouiller les neurones.

    mais je me trompe peut etre

  6. #6
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Citation Envoyé par in
    c'est clair mais à mon avis, pour une première approche du langage, on commence par les tableaux basiques ... histoire de pas trop embrouiller les neurones.

    mais je me trompe peut etre
    Au contraire, c'est l'occasion pour lui d'aborder les Map alors autant qu'il en profite, enfin c'est mon avis et c'est à lui de voir .
    Et puis les Map, c'est pas si compliqué que ça
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

Discussions similaires

  1. Tableau contenant lettres et chiffres
    Par spinosa dans le forum Fortran
    Réponses: 1
    Dernier message: 14/05/2010, 20h16
  2. trier un tableau de lettres
    Par shaku dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/04/2009, 02h51
  3. Publipostage tableau dans Lettre type
    Par cbleas dans le forum IHM
    Réponses: 0
    Dernier message: 02/04/2008, 08h45
  4. Réponses: 7
    Dernier message: 02/11/2006, 11h49
  5. Lettres d'une chaine dans un tableau
    Par Girzi dans le forum Langage
    Réponses: 2
    Dernier message: 07/07/2006, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo