Random String...

Résolu
leen.net Messages postés 247 Statut Membre -  
leen.net Messages postés 247 Statut Membre -
Bonjour,

je cherche une methode qui trouve un String aleatoirement en java...
je sais que la mehode pour random pour int.... mais pour String?


3 réponses

Utilisateur anonyme
 
Salut,

Supposons que les 150 String (par exemple) parmi lesquels tu dois en rechercher un, sont dans un tableau, il te suffirait d'obtenir le nombre aléatoir de valeur 0 à 149 et ce nombre serait l'index de l'élément à retenir.

         int min = 0;
         int max = 149;
         int nbreVal = ((max - min) +1); // nombre de valeurs possibles
         Random r = new Random();
         int aI = min + r.nextInt(nbreVal);
         System.out.println("Le nombre int aléatoire est " + aI);



Cordialement,

Dan
1
jojo150393 Messages postés 365 Statut Membre 23
 
exact par contre cela suppose de stocker tous les caractère dans un tableau si j'ai bien compris ?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Le code proposé par Danimo suppose que tu ais un tableau avec 150 String acceptables et que tu choisis aléatoirement un de ceux-ci, mais ce n'est pas la génération des String qui est aléatoire.
0
leen.net Messages postés 247 Statut Membre 13
 
peut être je n'ai pas exprimé ce que je voudrais exactement...
mais ce que Danimo a proposé, me conviens parfaitement... car je voulais choisir un String qui a un sens... donc je dois remplir un tableau
merci pour tous :)
0
jojo150393 Messages postés 365 Statut Membre 23
 
cherche du coté de l'ascii car chaque lettre correspond a un nombre. Je sais le faire en c mais pas en java dsl
0
KX Messages postés 19031 Statut Modérateur 3 020
 
La classe Random possède une méthode nextBytes qui remplit aléatoirement un tableau de byte, or la classe String possède un constructeur prenant en paramètre un tableau de byte...
Il reste juste un détail à déterminer c'est la taille du tableau de byte, et donc du String obtenu par la suite, mais ça va principalement dépendre de ce que tu veux faire, mais tu peux choisir cette taille aléatoirement.
0