Random en java

Résolu
Nouyou Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
Nouyou Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -
bonjour j'ai un problème avec la class Random
je veux afficher des nombres paires compris entre 0 et 14
voici le code que j'ai écrit , à chaque fois il m'affiche 16 , je ne sais pas c'est quoi le problème avec le contrôle de saisie

 Random R=new Random();
  int m=14;
  do
  {
   int k=R.nextInt(1);
  if(k==0)
   m=m+2;
  else
   m=m-2;
  }while((m<0)&&(m>14));
  System.out.print(m);



EDIT :
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

La borne que tu passes en paramètre est exclusive. Donc comme tu as mis 1, tu choisis aléatoirement un nombre entre 0 inclus et 1 exclus... donc tu obtiens toujours 0 !

Pourquoi ne pas choisir un nombre aléatoirement entre 0 et 8 ? Tu le multiplies ensuite par 2 pour être sûr qu'il est pair et ça t'évite une boucle maladroite...
0
Nouyou Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Une bonne idée mais ne marche pas dans mon cas , parceque m est initialiser et je vais à chaque fois ajouter ou soustraire 2 à condition que le m reste toujours dans l'intervalle [0,14]
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Dans tous les cas, il ne faut pas faire de random sur la borne 1, ça te renverra toujours 0.
Soit tu fais 2 et tu auras 50% de 0 et 50% de 1. Tu peux aussi mettre plus mais dans ce cas tu auras également plus de else...
0
Nouyou Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord j'vais essayer :)
0
Nouyou Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
la même chose ça m'affiche toujours 16 :(
0