Comment générer un nombre aléatoire entre 1 et 10 en Java

Rupam Yadav 12 octobre 2023
  1. random.nextInt() pour générer un nombre aléatoire entre 1 et 10
  2. Math.random() pour générer des nombres aléatoires entre 1 et 10
  3. ThreadLocalRandom.current.nextInt() pour générer des nombres aléatoires entre 1 et 10
Comment générer un nombre aléatoire entre 1 et 10 en Java

Nous examinerons les étapes permettant de générer un nombre aléatoire entre 1 et 10 de façon aléatoire dans Java. Nous verrons trois paquets ou classes Java qui peuvent générer un nombre aléatoire entre 1 et 10 et lequel d’entre eux est le plus approprié à utiliser.

random.nextInt() pour générer un nombre aléatoire entre 1 et 10

java.util.Random est un paquet qui vient avec Java, et nous pouvons l’utiliser pour générer un nombre aléatoire entre une plage. Dans notre cas, la plage est de 1 à 10.

Ce paquet a une classe Random qui nous permet de générer plusieurs types de nombres, qu’il s’agisse d’un int ou d’un float.

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    Random random = new Random();

    int value = random.nextInt(max + min) + min;
    System.out.println(value);
  }
}

Production:

	6

Pour montrer que la technique ci-dessus fonctionne et génère des nombres aléatoires à chaque fois, nous pouvons utiliser une boucle pour générer un nouveau nombre aléatoire jusqu’à la fin. Comme nous ne disposons pas d’une large gamme de nombres, les nombres aléatoires peuvent être répétés.

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    Random random = new Random();

    for (int i = 1; i <= 10; i++) {
      int value = random.nextInt((10 - 1) + 1) + 1;
      System.out.println(value);
    }
  }

Production:

10
7
2
9
2
7
6
4
9

Math.random() pour générer des nombres aléatoires entre 1 et 10

Une autre classe qui peut nous aider à atteindre notre objectif est Math avec de multiples fonctions statiques pour randomiser les nombres. Nous allons utiliser la méthode random(). Elle retourne une valeur aléatoire de type float. C’est pourquoi nous devons la transformer en un int.

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;
    for (int i = min; i <= max; i++) {
      int getRandomValue = (int) (Math.random() * (max - min)) + min;
      System.out.println(getRandomValue);
    }
  }

Production:

5
5
2
1
6
9
3
6
5
7

ThreadLocalRandom.current.nextInt() pour générer des nombres aléatoires entre 1 et 10

La dernière méthode de notre liste pour obtenir des nombres aléatoires entre 1 et 10 est l’utilisation de la classe ThreadLocalRandom qui a été introduite dans le JDK 7 pour les programmes multi-threads.

Nous pouvons voir ci-dessous que nous devons appeler la méthode current() de la classe car nous voulons que les nombres aléatoires soient générés dans le thread courant.

import java.util.concurrent.ThreadLocalRandom;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    for (int i = 1; i <= 10; i++) {
      int getRandomValue = ThreadLocalRandom.current().nextInt(min, max) + min;

      System.out.println(getRandomValue);
    }
  }
}

Production:

3
4
5
8
6
2
6
10
6
2
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Article connexe - Java Number