Java >> Java tutorial >  >> Java

Random Number Generator Java | Inden for rækkevidde | 5 cifret | Eksempler

Generering af tilfældige tal er meget vigtigt i nogle applikationstjenester som OTP, Random Password. Generator af tilfældige tal Java er let, fordi Java allerede tilbyder indbyggede metoder og klasser.

Forskellige måder at generere tilfældige tal i Java.

Her er en vej til Java Random Range.

  • Brug af Random class – java.util.Random
  • Ved brug af Math-pakken tilfældig metode –Math.random (Bemærk – Generer dobbelt i intervallet 0,0 til 1,0 og ikke heltal)
  • java.util.concurrent.ThreadLocalRandom klasse

Lad os starte en efter en metode med eksempler

Vi vil se eksemplet og en forklaring på, hvordan man Random Number Generator i Java.

Tilfældig klasse – java.util.Random

I eksemplet genererer vi tilfældige tal mellem 1 – 100.

Først skal du importere en Random-pakke(modul) og derefter oprette et objekt af Random-klassen. Kør derefter Java for loop 5 gange for at få tallet 5 gange.

import java.util.Random;

public class RandomNumbers {
    public static void main(String[] args) {
        // create random object
        Random randomObj = new Random();
        //for loop
        for (int i = 1; i < 6; i++) {
            int randomNumber = randomObj.nextInt(100);
            System.out.println(i + " Random No: " + randomNumber);
        }
    }
}

Output: 1 Tilfældigt nr.:27
2 Tilfældigt nr.:90
3 Tilfældigt nr.:68
4 Tilfældigt nr.:41
5 Tilfældigt nr.:88

Java Math.Random

Gør nu det samme eksempel med Math package random method –Math.random.

Men i dette eksempel vil få et tilfældigt tal i dobbelt og ingen grund til at importere nogen pakke.

public class RandomNumbers {

    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println(Math.random());
        }
    }
}

Output: 0,6476096759285015
0,02079713078539991
0,7415838333842604
0,6114225690043168
0,1259080370215

java.util.concurrent.ThreadLocalRandom klasse

Denne klasse er introduceret i Java 1.7 for at generere tilfældige tal af typen heltal, doubler, booleanere osv.

Her er, hvordan du bruger denne klasse til at generere tilfældige tal. Du skal importere en påkrævet pakke for at få adgang til denne klasse.

import java.util.concurrent.ThreadLocalRandom;

public class RandomNumbers {
    public static void main(String[] args) {
        // Generate random integers
        int randomInt = ThreadLocalRandom.current().nextInt();
        System.out.println("Random Integers in Java: " + randomInt);

        // Generate Random doubles
        double randomDob = ThreadLocalRandom.current().nextDouble();
        System.out.println("Random Doubles in Java: " + randomDob);

        // Generate random booleans
        boolean randomBool = ThreadLocalRandom.current().nextBoolean();
        System.out.println("Random Booleans in Java: " + randomBool);
    }
}

Output: Tilfældige heltal i Java:-752176930
Random Doubles i Java:0,5973833535773254
Tilfældige booleanere i Java:sand

Generer 5-cifret tilfældigt tal i Java

Brug en substring(0, 5) metoder i en tilfældig java-klasse.

Her er et eksempel på Random Number Generator Java med 0 inklusive, og 100000 er eksklusivt. Formater det derefter til 5 cifre ved at tilføje nul.

import java.util.Random;

public class RandomNumbers {
    public static void main(String[] args) {
        Random random = new Random();
        int num = random.nextInt(100000);
        String formatted = String.format("%05d", num);
        System.out.println(formatted);
    }
}

Output: 01194

Spørgsmål:Hvordan tilfældig talgenerator java uden gentagelser (ingen dubletter)?

Svar:Brug sæt datastrukturen og brug en af ​​metoderne. Tjek sættet, hvis nummeret ikke er der, gem derefter det tilfældige nummer i HashSet og udskriv nummeret.

Se nedenfor eksempel på tilfældig tal generator java uden gentagelse eller ingen dubletter program.

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class RandomNumbers {
    public static void main(String[] args) {
        Random randomObj = new Random();
        Set set=new HashSet<Integer>();

        for (int i = 1; i <= 3; i++) {
            int randomNumber = randomObj.nextInt(4);
            if (!set.contains(randomNumber)){
                set.add(randomNumber);
                System.out.println(i + " Random No: " + randomNumber);
            }else i--;
        }
    }
}

Output: 1 Tilfældigt nr.:3
2 Tilfældigt nr.:1
3 Tilfældigt nr.:2

Spørgsmål:Hvordan genererer man tilfældige tal i java inden for rækkevidde?

Svar: I Java 1.7+ kan du gøre det på én linje ved hjælp af java.util.concurrent.ThreadLocalRandom-klassen. Tjek nedenstående eksempel på generering af tilfældige tal i java inden for intervallet 1 til 5.

import java.util.concurrent.ThreadLocalRandom;

public class RandomNumbers {
    public static void main(String[] args) {
        int randomNo = ThreadLocalRandom.current().nextInt(1, 20);
        System.out.println("A Random number between 1 to 20 is: " + randomNo);
    }
}

Output: Et tilfældigt tal mellem 1 og 20 er:6

Sidenotes:Så dette er Java-programmet til at generere tilfældige tal, hvis du er i tvivl og forslag, kommenter nedenfor.

Det samme som du genererede et tilfældigt tal i java, kan du gøre det for java tilfældigt område.


Java tag