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

 Java Discussion :

Récupération de données aléatoires dans un tableau


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2014
    Messages : 30
    Par défaut Récupération de données aléatoires dans un tableau
    Bonjour

    Je reviens vers vous pour obtenir une aide concernant mon programme.

    Je possède un tableau à double dimension ne contenant que des caractères: char [] lettres={'A', 'b', 'c', 'd', 'e', 'F'}

    Je demande ensuite à l'utilisateur de choisir :

    * combien de b voulez vous mettre dans le tableau ?
    * combien de c ?
    * combien de d ?
    * combien de e ?

    Seulement il me faut laisser qu'un seul A et un seul F.

    Du coup, je dois obtenir un nouveau tableau avec plusieurs lettres : b c d et e + un seul A + un seul F
    Mais comment puis-je créer ce nouveau tableau en récupérant toutes ces valeurs char et de manière aléatoire ?

    Voici le code que j'ai pour le moment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public static void placeAlea (char[] lettres, char[] [] tab) {
              Random r=new Random();
              for (int i = 0; i < tab.length; i++)
              for (int j = 0; j < (tab.length)-1; j++)
              tab [i] [j]=lettres[((char)Math.random())*tab.length];
                      }
     
    public static void apLettres (char[] lettres) { 
     
            int nbrelettres=0;
            int A=1;
            int F=1;
     
             // demande du nombre de symboles à poser 
             // (on laisse le choix à l'utilisateur d'en déposer certains)
     
            System.out.println ("Combien de lettres E désirez-vous poser ?");
            int E=Terminal.lireInt();
            //E=Integer.parseInt(s); ??? s= ???
            System.out.println ("Combien de B désirez-vous poser ?");
            int B=Terminal.lireInt();
            System.out.println ("Combien de C désirez-vous poser ?");
            int C=Terminal.lireInt();
            nbrelettres=E+B+C+A+F;
     //---> Comment récupérer un nouveau tableau avec tous les symboles posés aléatoirement ?
     
            //le nombre de lettres posé ne doit pas dépasser 50 cases (sur 72 appartenant au tableau)
            if (nbrelettres >= 50)
            System.out.println ("Le nombre de lettres ne doit pas dépasser un total de 50");
     
        }
    Dans mon main, j'ai déclaré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // déclaration du plateau de jeu
          char[][] tab = new char[9][8];
     
      // déclaration des symboles à placer sur le plateau
           char [] lettres= {'A', 'b' , 'c', 'd', 'e', 'F'};
    Je vous remercie pour votre aide,
    Rose

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par Rose22 Voir le message
    Bonjour
    Je possède un tableau à double dimension ne contenant que des caractères: char [] lettres={'A', 'b', 'c', 'd', 'e', 'F'}
    . Ce n'est pas un tableau à deux dimension
    Quel est le problème que tu rencontres dans ton code? (Exception, résultat incorrect...)
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2014
    Messages : 30
    Par défaut
    Citation Envoyé par MasterMbg Voir le message
    Ce n'est pas un tableau à deux dimension
    Quel est le problème que tu rencontres dans ton code? (Exception, résultat incorrect...)
    Je demande ensuite à l'utilisateur de choisir :
    Bonjour

    C'est une série de lettres que j'essayais de placer aléatoirement dans un tableau à double dimensions.
    Tu as vu mon code indiqué ci dessus ?

    J'obtiens des int puisque je demande combien de lettres chacune.
    Et mon probleme était de placer des char (les lettres) dans le tableau et de manière aléatoire.

    Je t'avoue que j'ai laissé tomber cette partie car je n'y arrivais pas. Mais s'il y a une solution, cela m’intéresse qd-même
    Merci

  4. #4
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par Rose22 Voir le message
    Bonjour
    C'est une série de lettres que j'essayais de placer aléatoirement dans un tableau à double dimensions.
    Tu as vu mon code indiqué ci dessus ?
    Oui j'ai bien vu ton code.

    J'obtiens des int puisque je demande combien de lettres chacune.
    Ici aussi j'avais bien pigé.

    Et mon probleme était de placer des char (les lettres) dans le tableau et de manière aléatoire.
    Là je comprends un peu mieux qu'avant.

    Proposition, tu crées d'abord un tableau de 72 char et tu y insères toutes les lettres (en fonction bien sur de nombre d’occurrence de chacune);
    Ensuite, tu parcours ce tableau à l'aide de la boucle tant que, et à chaque itération tu tires au hasard (en utilisant la classe Random) une lettre que affectes dans à ton tableau à deux dimensions.
    C'est juste une idée, si tu est prête pour l'aventure, on y aller
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2014
    Messages : 30
    Par défaut
    Citation Envoyé par MasterMbg Voir le message
    Oui j'ai bien vu ton code.

    Ici aussi j'avais bien pigé.

    Là je comprends un peu mieux qu'avant.

    Proposition, tu crées d'abord un tableau de 72 char et tu y insères toutes les lettres (en fonction bien sur de nombre d’occurrence de chacune);
    Ensuite, tu parcours ce tableau à l'aide de la boucle tant que, et à chaque itération tu tires au hasard (en utilisant la classe Random) une lettre que affectes dans à ton tableau à deux dimensions.
    C'est juste une idée, si tu est prête pour l'aventure, on y aller

    Bonne idée masterG

    Mais je ne peux pas mettre 72 lettres dans mon premier tableau. Car c'est l'utilisateur qui doit choisir le nombre à poser : nombre de b, de c etc. De mon coté, je pose d'avance les lettres A et F dans mon tableau à double dimension, avec les indices que j'aurais choisies. Le reste sera posé aléatoirement.

    Ca signifie donc :

    tab[1][1]= 'A';
    tab[7][7]= 'F';

    Et j'obtiens après question à l'utilisateur :

    int nreB;
    int nbreC;

    je fais une boucle pour chacun :

    for (i=0;i<nbreB;i++)
    system.out.println ('b');

    for (i=0;i<nbreC;i++)
    system.out.println ('c');

    Et ensuite je procède comment ?

    Merci

  6. #6
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par Rose22 Voir le message
    Bonne idée masterG
    Mais je ne peux pas mettre 72 lettres dans mon premier tableau.
    Excuse, je me suis rendu compte après que l'utilisateur n'avait droit qu'à 50 entrées...
    Ok, bon début. Ensuite, tu peux implémenter cet algo pour voire ce que ça donnera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
             nbrLettre = 1
             Pour i allant de 1 à 9
                   Pour j allant de 1 à 8
                        Si i = 1 ET j = 1 Alors
                             tabFinal[i][j] = 'A'
                        Sinon
                             Si nbrLettre <= 50 Alors
                                tabFinal[i][j] = tabTemponLettre[Alea(1,50)]
                                nbrLettre ++
                             Sinon
                                Sortir de la boucle j
                             FinSi
                        FinSi
                   FinPour j
                   Si nbrLettre > 50 Alors
                       Sortir de la boucle i
                   FinSi
             FinPour i
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  7. #7
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Déjà répondu dans un autre poste, on se disperse parce que monsieur rose22 est impatient et reposte la même question à 10 heures d'intervalle:


    http://www.developpez.net/forums/d14...oires-tableau/

Discussions similaires

  1. récupération de caracteres aléatoires dans un tableau
    Par Rose22 dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 23/05/2014, 15h39
  2. problème de récupération de données String dans un tableau
    Par simonteb dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2012, 17h21
  3. Rangement de données aléatoires dans un tableau bidimensionnel de 9x9
    Par dcligniez dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/12/2010, 20h52
  4. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  5. [MySQL] Récupération données MySQL dans un tableau
    Par joebiloute202 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/08/2008, 12h09

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