[java] un random avec une valeur int

un random avec une valeur int [java] - Java - Programmation

Marsh Posté le 17-11-2004 à 10:19:56    

Salut a tous,
 
Je debute en java, et je voudrai faire un random (qui prends une valeur entre 0 et 1) que je multiplie par une taille (pour moi :7 ) et je voudrais simplement garder une valeur entière (1, 2, 3 ... jusqu'a la taille donc ici 7).
Mon message d'erreur :  
"possible loss of precision
 found   : double
 required: int"
 
Comment je peux faire, j'ai vu qu'il y a un Math.round, mais ca solutionne pas la pb. Si vous avez une solution.
ma ligne de code :  
"return prenom[Math.random()*taille];"
Merci d'avance de votre aide.

Reply

Marsh Posté le 17-11-2004 à 10:19:56   

Reply

Marsh Posté le 17-11-2004 à 10:23:14    

Tu ne peux pas " caster " en int :
 
return prenom[(int) (Math.random()*taille)];
 
marche-t-il ?

Reply

Marsh Posté le 17-11-2004 à 10:25:04    

oui, ca fonctionne, merci beaucoup :)

Reply

Marsh Posté le 17-11-2004 à 10:37:48    

j'ai un autre petit problème, c'est que la valeur aléatoire est toujours 0, y a t-il moyen de le forcer a prendre une valeur autre que 0 à1 ?
Ou meme plus simple, enfin, pas sur lol
est-il possible de faire un random sur des valeurs de 0 a une valeur definie, disons un choix au hazard d'une valeur aléatoire plutot qu'un random.


Message édité par GC60240 le 17-11-2004 à 10:58:54
Reply

Marsh Posté le 17-11-2004 à 11:04:08    

gc60240 a écrit :

j'ai un autre petit problème, c'est que la valeur aléatoire est toujours 0, y a t-il moyen de le forcer a prendre une valeur autre que 0 à1 ?
Ou meme plus simple, enfin, pas sur lol
est-il possible de faire un random sur des valeurs de 0 a une valeur definie, disons un choix au hazard d'une valeur aléatoire plutot qu'un random.


 
java.util.Random.nextInt(int) ne résoud pas le problème ?

Reply

Marsh Posté le 17-11-2004 à 11:13:23    

c'est même la définition exacte ;) :  
nextInt(int n)
          Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.

Reply

Marsh Posté le 17-11-2004 à 11:15:23    

zerod a écrit :

c'est même la définition exacte ;) :  
nextInt(int n)
          Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence.


 
tout à fait... Je voulais juste voir si ça répond au problème du monsieur ;).

Reply

Marsh Posté le 17-11-2004 à 11:21:55    

J'arrive pas la le faire fonctionner :s (ca fait que 2 heures que j'ai commencé lol)
Donc, j'ai fais un Math.round(Math.random()*taille); et ca fonctione :)
Merci de votre aide ;)

Reply

Marsh Posté le 17-11-2004 à 11:24:34    

Code :
  1. java.util.Random rand = new java.util.Random();
  2. int leNombreAleatoire = rand.nextInt(LIMITE_SUPERIEURE);


Message édité par zerod le 17-11-2004 à 11:31:39
Reply

Marsh Posté le 17-11-2004 à 11:28:42    

zerod a écrit :

Code :
  1. java.util.Random rand = new java.util.Random();
  2. int leNombreAleatoire = rand.nextInt(LIMITE_SUPERIEURE);




 
Tant qu'à donner du code autant qu'il soit juste :D


Message édité par Sigmund le 17-11-2004 à 11:29:17
Reply

Marsh Posté le 17-11-2004 à 11:28:42   

Reply

Marsh Posté le 17-11-2004 à 11:31:03    

Merci a tous pour votre aide ;)

Reply

Marsh Posté le 17-11-2004 à 11:31:16    

hi hi c'était une adaptation, j'ai seulement enlevé le Integer.toString(... :lol:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed