J'ai besoin de générer des nombres aléatoires qui peuvent être divisés par 2 donc: 2 4 6 8 10 12 14 16 18 .....
Mon code ressemble à:
Random random = new Random();
int i = random.nextInt(20);
J'espère que vous savez ce que je veux et que vous pouvez m'aider.
Réponses:
5 pour la réponse № 1Il suffit de multiplier i par 2
Random random = new Random();
int i = random.nextInt(20) * 2;
Et ajustez la limite supérieure aléatoire si vous souhaitez rester inférieur à 20 (remplacez par 10)
int i = random.nextInt(10) * 2;
La version en boucle est trop lourde et inefficace à mon avis
4 pour la réponse № 2
Simplement:
int number = new Random().nextInt(10) * 2;
0 pour la réponse № 3
Vérifiez le reste / le module du résultat et si c'est 1, ajoutez 1 à i pour donner un nombre pair:
Random random = new Random();
int i = random.nextInt(20);
if(i%2 == 1){
i++;
}
0 pour la réponse № 4
Approche déterministe -
Random random = new Random();
...
private int generateRandomDividedByTwo(){
int i = -1;
do{
i = random.nextInt(20);
}while(i%2!=0);
return i;
}
-1 pour la réponse № 5
int number = 100; //number of numbers you want to generate
for(int i = 0; i < number; i++) {
int rand = random.nextInt(number);
while(rand % 2 != 0) {
rand = random.nextInt(number);
}
System.out.println(rand);
}