Java >> Tutoriel Java >  >> Java

Comment générer un nombre aléatoire en Java ? – CodeLeaks

Lorsqu'un développeur construit une application, il doit garder à l'esprit toutes les choses et les exigences et les remplir toutes pour rendre son application fiable et répondre aux attentes des utilisateurs. Alors, quel est le besoin de créer un générateur de nombres aléatoires ?

La réponse est la nécessité de générer un nombre aléatoire pendant qu'un programmeur crée une application qui nécessite des valeurs aléatoires dans la sortie. Par exemple, un développeur développe un jeu Ludo en langage de programmation Java .

Les joueurs lancent un dé pour jouer au jeu et obtiennent un nombre dans la plage de 1 à 6. Il aura besoin d'un générateur de nombres aléatoires Java pour appeler le numéro entre la plage de numéros de dés. Le développeur doit ajouter un nombre aléatoire Java dans la plage ou un nombre aléatoire Java compris entre 1 et 6. La génération de nombres aléatoires est le processus permettant de générer des nombres à partir d'une plage.

Nombres aléatoires

Les nombres aléatoires sont les nombres qui choisissent ou sélectionnent un nombre parmi un grand nombre de nombres au hasard. Il utilise des algorithmes mathématiques et satisfait deux conditions.

  1. Génère des valeurs uniformément réparties sur un intervalle défini.
  2. Génère aléatoirement la valeur qui ne peut pas être devinée.

En Java, il existe différentes manières de générer un entier aléatoire. Nous en aborderons trois ici dans notre tutoriel.

Classe java.util.Random

Pour utiliser cette classe, vous devez importer "java.util.Random" dans votre programme. Vous devez d'abord créer une instance des objets aléatoires ou aléatoires de la classe, puis appeler ses méthodes telles que la méthode nextInt pour le type entier, la méthode nextDouble pour le type double, la méthode nextLong() pour le type long et le nombre à virgule flottante, etc., en utilisant cette instance de classe.

Vous pouvez passer un nombre à l'intérieur des méthodes en tant qu'argument, et les méthodes le prendront comme limite supérieure. Par exemple, si vous donnez 2 dans la méthode, cela générera un nombre aléatoire Java 0 ou 1.

Exemple de code :generateRandom.java
Nombre aléatoire Java entre 0 et 1

import java.util.Random;

public class generateRandom{

	public static void main(String args[])
	{
		// creating an instance of the Random class
		Random rand = new Random();

		// Generate Java random number 0 or 1
		int rand_int1 = rand.nextInt(2);
                
		// Print random number
		System.out.println("0 or 1 Random Number: "+rand_int1);

	}
}
 

Sortie

Math.aléatoire

Math est une classe intégrée dans le langage de programmation Java, et cette classe comprend de nombreuses méthodes. Vous pouvez effectuer de nombreuses opérations mathématiques à l'aide de ces méthodes.

L'une de ces méthodes est la méthode aléatoire définie comme random() qui est un objet générateur de nombres aléatoires, et elle renvoie des valeurs doubles entre 0 et 1.

Nous allons générer un nombre Java aléatoire à 4 chiffres en appliquant des opérations mathématiques dessus et il renverra des valeurs entières aléatoires.

Exemple de code :generateRandom4.java
Nombre aléatoire Java à 4 chiffres

import java.util.*;

public class generateRandom4
{
	public static void main(String args[])
	{
		// Generating random doubles
		System.out.println("Original Random Number Generated: " + Math.random());

                // Generating 4-digits number
		System.out.println("4-digits Random Numeber: " + ((int)(Math.random()*9000)+1000));
	}
}
 

Sortie

Classe ThreadLocalRandom

La classe ThreadLocalRandom est fournie dans le package java.util.concurrent de java. Vous pouvez passer une valeur en argument, et il la prendra comme limite supérieure comme nous le faisions dans la classe java.util.Random.

Mais, vous pouvez y donner une plage de génération en passant deux arguments :la plage inférieure et la plage supérieure. Par exemple, si vous transmettez une valeur limite supérieure 6, il considérera la plage de 0 à 5. Et si vous donnez deux valeurs, les limites supérieure et inférieure 1 et 6, il considérera la plage de 1 à 6. Ce processus est aussi appelé générateur de nombres pseudo-aléatoires.

Dans l'exemple ci-dessous, nous allons effectuer java générer des nombres aléatoires dans la plage de 6, et java génère des nombres aléatoires entre 1 et 6.

Exemple de code :generateRandomR.java
Nombre aléatoire Java entre 1 et 6

import java.util.concurrent.ThreadLocalRandom;

public class generateRandomR
{
	public static void main(String args[])
	{
		// Generate random numbers in range of 6
		int rand_int1 = ThreadLocalRandom.current().nextInt(6);
		
                // Generate random number between 1 to 6
                int rand_int2 = ThreadLocalRandom.current().nextInt(1,6);

		// Print random numbers
		System.out.println("Range of 6: " + rand_int1);
		System.out.println("Range between 1 to 6: " + rand_int2);

		
	}
}
 

Sortie

Conclusion

En conclusion, nous avons discuté du sujet des nombres java aléatoires. Trois manières différentes de les générer, avec des classes et des méthodes. Nous avons réalisé un exemple de codage de chaque processus pour le comprendre plus clairement.

Après avoir terminé les exemples de code, nous exécutons chacun des programmes plusieurs fois pour voir différents nombres générés à chaque exécution.

Sujets liés à Java :

  • Convertir une chaîne en entier
  • Convertir un entier en chaîne
  • Java contre JavaScript

Balise Java