Maison >Java >JavaBase >Quelle méthode est utilisée pour générer des nombres aléatoires uniques en Java

Quelle méthode est utilisée pour générer des nombres aléatoires uniques en Java

王林
王林original
2019-11-20 10:48:363607parcourir

Quelle méthode est utilisée pour générer des nombres aléatoires uniques en Java

Méthode 1 : Appelez la méthode random() dans la classe Math sous java.lang pour générer des nombres aléatoires

Créez un nouveau fichier avec le suffixe java, et le nom du fichier est MyRandom, écrivez le code suivant dans cette classe :

public class MyRandom {
    public static void main(String[] args) {
        int radom = (int)(Math.random()*10);
        System.out.println(radom);
    }
}

Parmi eux, Math.random() génère une décimale aléatoire entre 0 et 1.

Génère un entier entre 0 et 9 comme : (int)(Math.random()*10)

Génère un entier entre 1 et 10 comme : (int)(Math.random()*10 + 1)

avec Par analogie : pour générer un nombre entre 0 et n, il doit être écrit comme : Math.random()*n

Retirez un entier positif aléatoire de longueur spécifiée :

public static int buildRandom(int length) {
    int num = 1;
    double random = Math.random();
    if (random < 0.1) {
        random = random + 0.1;
    } 
    for (int i = 0; i < length; i++) {
        num = num * 10;
    }
    return (int) ((random * num));
}

Méthode 2 : appelez java.util ci-dessous Classe aléatoire, instances de ceci class sont utilisés pour générer un flux de nombres pseudo-aléatoires et générer un entier aléatoire. Appelez ensuite la méthode nextInt() de cette classe. Avant d'utiliser la classe Random, importez java.util.Random sous le package. >

import java.util.Random;
public class MyRandom {
    public static void main(String[] args) {
    Random rand = new Random();
    int rInt = rand.nextInt(10);
    System.out.println(rInt);
    }
}

consiste à créer un nouveau générateur de nombres aléatoires Random rand = new Random() est tiré de la séquence de ce générateur de nombres aléatoires et est uniformément distribué entre 0 (inclus) et la valeur spécifiée n (exclusive) valeur int ; . rand.nextInt(int n)

En Java, dans la classe de plage entière spécifiée, la boucle génère différents nombres aléatoires.

Prenons l'exemple de la génération de 6 entiers aléatoires différents dans 20 chiffres comme suit :

public class MyRandom {
    public static void main(String[] args) {
        int n = 20;
        Random rand = new Random();
        boolean[] bool = new boolean[n];
        int randInt = 0;
        for(int i = 0; i < 6 ; i++) {
            do {
            randInt = rand.nextInt(n);
        }while(bool[randInt]);
        bool[randInt] = true;
        System.out.println(randInt);
        }
    }
}

Parmi eux, un tableau de variables booléennes est utilisé pour stocker si le nombre est généré. Après génération, le nombre devient vrai en tant que valeur booléenne correspondante dans le tableau ci-dessous du tableau booléen. La prochaine fois que le nombre est généré, il entrera à nouveau dans la boucle do...while pour générer des nombres jusqu'à ce qu'un nombre qui n'a pas été généré. généré avant est généré.

Tutoriel recommandé :

Introduction au développement Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:La version Java est fausseArticle suivant:La version Java est fausse