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
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 :
int res = tirerAleatoire(tab);
avec
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
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 :
int tirerAleatoire( int max, int min)
qui renvoie l'indice du tableau, et donc à l'usage :
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
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.
Partager