/ / Générer des nombres aléatoires qui peuvent être divisés par 2 - java, random, numbers

Générer des nombres aléatoires qui peuvent être divisés par 2

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 № 1

Il 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);
}