Hvordan generere tilfeldig tall innenfor et spesifisert område i Java

Hvordan generere tilfeldig tall innenfor et spesifisert område i Java
Prosessen med å trekke ut ett nummer ved hjelp av en hvilken som helst matematisk algoritme kalles generering av tilfeldig tall. I Java -programmering krever noen applikasjoner ofte generering av tilfeldige heltall, for eksempel OTP (One Time -passord). Mange applikasjoner genererer tilfeldige tall for å bruke OTP for å validere brukeren.

Dette innlegget vil forklare metodene for å generere tilfeldige tall innenfor det spesifiserte området i Java.

Hvordan generere tilfeldig tall innenfor et spesifisert område i Java?

For å generere et tilfeldig tall innen et spesifisert område, kan du bruke:

  • Matte.Tilfeldig () -metode
  • Tilfeldig.NextInt () -metode
  • Tilfeldig.NextFloat () -metoden
  • Tilfeldig.INTS () -metode

La oss prøve å forstå arbeidet med disse metodene med eksempler.

Metode 1: Generer et dobbelt tilfeldig tall innenfor et spesifisert område ved bruk av matematikk.Tilfeldig () -metode

I denne delen vil vi bruke "Matte.tilfeldig()”Metode for å generere tilfeldige tall. Den tilfeldige () metoden er den statiske metoden i matematikklassen, så den kan kalles direkte med klassenavnet og genererer en "dobbelt”Skriv tilfeldig tall mellom det gitte området.

Syntaks
For å generere et tilfeldig tall innen et bestemt område ved bruk av matematikken.Tilfeldig () -metode, følg den gitte syntaks:

Matte.tilfeldig () * (max_num - min_num)

Max_num”Er den maksimale verdien mens“min_num”Er minimumsverdien. Begge verdiene legges til for å gi et område.

Eksempel
I dette eksemplet vil vi først lage to heltallstypevariabler, "Max_num”Og“min_num”Og tilordne følgende verdier:

int min_num = 14;
int max_num = 150;

Vi vil opprette en hel heltall -variabel "Rand_num”Som lagrer et tilfeldig tall mellom“0" til "136”; Som bruk av den spesifiserte formelen, når vi trekker fra min_num fra Max_num, vil den returnere 136. Så det tilfeldige tallet vil bli generert mellom 0 til 136:

dobbel rand_num = matematikk.tilfeldig () * (max_num - min_num);

Skriv ut den genererte tilfeldige verdien ved å bruke “System.ute.println ()”Metode:

System.ute.println ("tilfeldig tall:"+ rand_num);

Utgangen viser den tilfeldige dobbeltverdien “31.592 .. .”I mellom“0" til "136”:

La oss nå sjekke ut den andre metoden for å generere et tilfeldig tall i Int -typen.

Metode 2: Generer et INT tilfeldig tall innenfor et spesifisert område ved bruk av tilfeldig.NextInt () -metode

For å generere et tilfeldig heltallnummer innen et bestemt område, bruk "NextInt ()”Metode for Java Random Class. Den tilfeldige klassen gir mange metoder for å generere tilfeldige tall i alle typer, for eksempel float, dobbel, lang og int.

I dette avsnittet vil vi generere et tilfeldig tall i Int -typen ved hjelp av metoden for tilfeldig klasse.

Syntaks
Følg den gitte syntaks for å generere et heltall tilfeldig tall ved hjelp av den tilfeldige klassen:

Rand.nextInt (max_num - min_num) + min_num;

Her, “Rand”Er gjenstand for den tilfeldige klassen som påkaller“NextInt ()”Metode ved å passere”Max_num”Og“min_num”Som argumenter.

Eksempel
For det første vil vi lage en forekomst av den tilfeldige klassen som heter “Rand”:

Tilfeldig rand = ny tilfeldig ();

Deretter lager du en heltallstypevariabel "x”Som lagrer det genererte tilfeldige tallet ved å påkalle“NextInt ()”Metode. Denne metoden vil generere et tilfeldig tall mellom "14" til "136”Fordi, i henhold til den gitte formelen, når vi trekker fra 14 fra 150, vil den returnere 136. Så det tilfeldige tallet vil bli generert mellom 14 og 136:

int x = rand.nextInt (max_num - min_num) + min_num;

Til slutt, skriv ut det genererte tilfeldige tallet på konsollen:

System.ute.println ("tilfeldig tall:"+ x);

Som du kan se, "108”Er vårt resulterende tilfeldige tall:

Følg den undergitte prosedyren hvis du ønsker å generere et tilfeldig flytende punktnummer.

Metode 3: Generer et float tilfeldig tall innenfor et spesifisert område ved bruk av tilfeldig.NextFloat () -metoden

NextFloat ()”Er en metode for den tilfeldige klassen som genererer tilfeldige tall i flytende punkter. I denne delen vil vi generere et tilfeldig tall i desimalformat ved hjelp av den nevnte metoden.

Syntaks
Den beskrevne syntaks brukes for tilfeldig.NextFloat () Metode:

Rand.nextfloat () * (max_num - min_num);

Her, “Rand”Er gjenstand for den tilfeldige klassen som påkaller“NextFloat ()”Metode ved å passere to tall”Max_num”Og“min_num”Som parametere

Eksempel
Vi vil påkalle "NextFloat ()”Metode ved å passere den allerede opprettet”Max_num”Og“min_num”Variabler som argumenter og lagring av den i float -typen variabel”RandomVal”.

Float RandomVal = rand.nextfloat () * (max_num - min_num);

Skriv ut den tilfeldige flytende punktverdien ved å bruke “System.ute.println ()”Metode:

System.ute.Println (RandomVal);

Utgangen betyr at vi har generert et flytende punktnummer innenfor et spesifisert område:

Hvis du vil generere en liste over tilfeldige tall i et spesifisert område, følg den gitte delen.

Metode 4: Generer en liste over tilfeldige tall innenfor et spesifisert område ved bruk av tilfeldig.INTS () -metode

For å generere en liste over tilfeldige tall innen et bestemt område, "intS ()”Metode for den tilfeldige klassen kan brukes. Denne metoden returnerer en strøm av tilfeldig genererte heltallstall opp til uendelig. Det kan brukes innenfor det spesifiserte området. INTS () -metoden tillater deg også å begrense antall heltall ved å spesifisere størrelsen på strømmen.

Syntaks
Følgende syntaks av “intS ()”Metode brukes til å generere en liste over tilfeldige tall innenfor et bestemt område:

Rand.intS (grense, min_num, max_num);

Her, “Rand”Er gjenstand for den tilfeldige klassen som påkaller“intS ()”Metode ved å passere tre parametere,”Max_num”Og“min_num”Og grensen som indikerer hvor mange tilfeldige tall som skal være til stede i listen.

Eksempel
Vi vil opprette et objekt “er" av "Intstream”Grensesnitt, som vil lagre strømmen av tilfeldig genererte tall. Her vil vi passere “3”Som en grense som betyr at den resulterende listen vil inneholde tre tall:

Intstream er = rand.intS (3, min_num, max_num);

Til slutt, skriv ut de tilfeldig genererte tallene ved å bruke “for hver" Løkke:

er.Foreach (system.ut :: println);

Produksjon

Vi har samlet all essensiell informasjon for å generere tilfeldige tall innenfor et spesifisert område i Java.

Konklusjon

For å generere tilfeldige tall i et spesifisert område, støtter Java forskjellige metoder, matematikk.tilfeldig () metode, tilfeldig.nextInt () metode, tilfeldig.NextFloat () -metoden, og tilfeldig.INTS () -metode. Du kan bruke disse metodene for å generere tilfeldige antall av alle typer, for eksempel dobbelt, int, float og så videre. Java støtter også generering av en liste over tilfeldige tall innenfor et bestemt område ved bruk av tilfeldig.INTS () -metode. I dette innlegget forklarte vi metodene for å generere tilfeldige tall innenfor et spesifisert område i Java med eksempler.