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

avec Java Discussion :

Valeur aléatoire d'un tableau


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Valeur aléatoire d'un tableau
    Bonjour,
    Etant débutant en java, je rencontre des difficultés et ici tous particulièrement avec une méthode qui permet de tirer une valeur aléatoire dans un tableau déjà créé. J'ai essayé beaucoup de possibilités mais jeu suis toujours bloqué. voici l'algorithme :
    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
    33
    34
    35
    36
    37
         int tirerAleatoire( int max, int min){ 
     
            int []leTab = new int [9];
            int i = 0;
            int nbElem = 0;
            boolean valide;
            int nombreAleatoire = 0;
            valide = verifTab(leTab,nbElem);
            if (valide == false){ 
                   System.out.println ("afficherTab : tableau invalide");
            }
            else{
                while ( i < nbElem) {
                    int j = 0;
                    max = leTab[i];
                    min = leTab [i+j];
                    nombreAleatoire = min + (int)(Math.random() * ((max - min) + 1));
                    j++;
                    i++;
                }
            }
            return nombreAleatoire;
        }
     
     
        void testTirerAleatoire(){
            int nb;
            System.out.println("tir aléatoire cas normaux");
            System.out.println("cas où tout va bien");
            int tab [] = {12,34,45,76,9,54,87,57,79,40};
            nb = 10; 
            tab[0] = tirerAleatoire (0, 10);
            int res = tirerAleatoire(tab[0]);
            System.out.println(" La valeur triée aléatoirement est : " +res);
            System.out.println ("tir aléatoire réussi");
     
        }

  2. #2
    Membre actif Avatar de Gaillac
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2008
    Messages : 165
    Points : 209
    Points
    209
    Par défaut
    Bonjour et bienvenue.

    Pensez à entourer vos extraits de code par la balise code, et à indenter, pour faciliter la lecture.

    Le code en question étant confus, je ne suis pas sur d’avoir compris le but du jeu, alors je vais faire une première hypothèse :
    Le but est de tirer au hasard une valeur dans le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int tab [] = {12,34,45,76,9,54,87,57,79,40};
    Donc il faut une méthode, disons tirerAleatoire, à qui on passe en paramètre le tableau et qui renvoie la dite valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int res = tirerAleatoire(tab);
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int tirerAleatoire( int[] tableau)
    Si telle est la fonction de tirerAleatoire, un seul appel suffis, l'autre n'a pas de sens.
    Enfin, dans tirerAleatoire il faut effectuer un tirage aléatoire. Random renvoie un chiffre entre 0 et 1, qu'il faut étendre à l’intervalle des index du tablez, donc entre 0 et tableau.length-1
    et ensuite retourner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau[ce nombre aléatoire]
    J'ai l'impression que ton code est le mélange avec une seconde solution, meilleure, qui évite de se passer le tableau en paramètre : une procédure de tirage aléatoire de l'indice, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int tirerAleatoire( int max, int min)
    qui renvoie l'indice du tableau, et donc à l'usage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int indice = tirerAleatoire(0,tab.length-1);
    System.out.println(" La valeur triée aléatoirement est : " +tab[indice]);
    et cette fois dans ta procédure juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int nombreAleatoire = min + (int)(Math.random() * (max - min) +1);
    (tu remarquera qu'on l'appelle avec -1 pour faire un plus 1 à l'intérieur, je te laisse en tirer les conclusions que tu veux sur la façon d'optimiser).

    Voilà, bon après-midi, j'espère que j'ai à peu près répondu à tes questions, sinon il va falloir les préciser. Mais à la vue du code je ne pense pas que tu étais trop clair dans ta tête sur ce que tu voulais faire exactement.

    PS : oui, j'ai commencé en vouvoyant et je fini en tutoyant.

Discussions similaires

  1. Rentrer une valeur de manière aléatoire dans un tableau en C
    Par Guillaume.spriet dans le forum Débuter
    Réponses: 13
    Dernier message: 23/03/2017, 10h50
  2. Tableau à valeurs aléatoires et tri à bulles
    Par lewisdu76 dans le forum Débuter
    Réponses: 7
    Dernier message: 24/12/2012, 17h12
  3. Valeurs aléatoires dans un tableau C++
    Par 0nn2belle dans le forum C++
    Réponses: 6
    Dernier message: 10/02/2010, 13h13
  4. 2 valeurs distincts dans un tableau à 2 dimensions...
    Par toyyo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2005, 16h00
  5. Valeur maximale d'un tableau
    Par Yana dans le forum Langage
    Réponses: 4
    Dernier message: 20/06/2003, 15h21

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