Hvordan håndtere tilfeldig nummer og strenggenerator i Java?



Denne artikkelen vil introdusere deg for Random Number And String Generator In Java og følge den opp med en programmatisk demonstrasjon.

Denne artikkelen vil introdusere deg for Tilfeldig nummer Og strenggenerator i Java og følg den opp med en programmatisk demonstrasjon. Følgende tips vil bli dekket i denne artikkelen,

anvendelser av stor dataanalyse

Det er tre metoder for å generere tilfeldige tall i java ved hjelp av innebygde metoder og klasser.





  • Java.util.Random klasse
  • Math.random metode
  • ThreadLocalRandom-klasse

Så la oss komme i gang med artikkelen om tilfeldig nummer og strenggenerator i Java,

Java .Nyttig. Tilfeldig

Først og fremst må vi lage en forekomst av denne klassen i programmet og deretter påkalle de forskjellige innebygde metodene som nextInt (), nextDouble () etc ved hjelp av forekomsten vi opprettet.
Tilfeldige antall type heltall, float, double, long, booleans kan opprettes ved hjelp av denne klassen.
Argumenter kan overføres til metodene for å definere den øvre grensen som tallet skal genereres til. For eksempel vil nextInt (4) generere tall i området 0 til 3 (begge inkludert).



Eksempel 1:

// Et Java-program for å vise tilfeldig antallgenerering // ved hjelp av java.util.Random import java.util.Random public class Main {public static void main (String args []) {// skape en forekomst av Random class Random rand = new Random () // Generere tilfeldige heltall i området 0 til 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // Skrive ut tilfeldige heltall System.out.println ('Random Integers:>' + int1) System.out.println ('Random Integers:>' + int2) // Generere tilfeldig dobler dobbelt dub1 = rand.nextDouble () dobbelt dub2 = rand.nextDouble () // Utskrift tilfeldig dobler System.out.println (' Tilfeldige dobler:> '+ dub1) System.out.println (' Tilfeldige dobler:> '+ dub2)}}

Produksjon:

Output-random number og strenggenerator i java- Edureka



Eksempel:

// Java-program for å vise tilfeldig antallgenerering // ved hjelp av java.util.Random import java.util.Random public class Main {public static void main (String args []) {// skape en forekomst av Random class Random rand = new Tilfeldig () // Generering av tilfeldige heltall i området 0 til 9 int int1 = rand.nextInt (10) // Utskrift av tilfeldig heltall System.out.println ('Tilfeldig heltall:>' + int1)}}

Produksjon:

Fortsetter med denne artikkelen

Matte . tilfeldig ( )

Klassen som heter Math består av forskjellige metoder for å utføre en rekke forskjellige numeriske operasjoner som inkluderer logaritmer, løsning av eksponentiering osv. Blant disse operasjonene er det tilfeldig () som brukes til å generere tilfeldige tall av typen dobler mellom 0,0 og 1,0 . Denne metoden returnerer en dobbel verdi som enten er større enn eller lik 0.0 og mindre enn eller lik 1.0 sammen med et positivt tegn. Verdiene som returneres tilfeldig () velges tilfeldig av maskinen.

Eksempel 1:

// Et Java-program for å demonstrere hvordan // Math.random () genererer tilfeldige tall importerer java.util. * Offentlig klasse Hoved {offentlig statisk ugyldig hoved (String args []) {// Genererer tilfeldig verdi av datatypen dobbelt System.out.println ('Tilfeldig verdi:' + Math.random ())}}

Produksjon:

lengden på en matrise i javascript

For å sjekke tilfeldigheten kan du utføre programmet en gang til.

// Et Java-program for å demonstrere hvordan // Math.random () genererer tilfeldige tall importerer java.util. * Offentlig klasse Hoved {offentlig statisk ugyldig hoved (String args []) {// Genererer tilfeldig verdi av datatypen dobbelt System.out.println ('En annen tilfeldig verdi:' + Math.random ())}}

Produksjon:

Fortsetter med denne artikkelen om tilfeldig tall og strenggenerator i java

Java.util.concurrent.ThreadLocalRandom klasse

Denne klassen ble introdusert i java 1.7 for å generere tilfeldige tall av datatype heltall, dobler, boolere etc.
Eksempel 1:

// Et Java-program for å demonstrere hvordan ThreadLocalRandom fungerer // for å generere tilfeldige tall. importer java.util.concurrent.ThreadLocalRandom offentlig klasse Hoved {public static void main (String args []) {// Generere tilfeldige heltall i området 0 til 99 int int2 = ThreadLocalRandom.current (). nextInt () // Skrive ut tilfeldig heltall System.out.println ('Random Integers:' + int2) // Generere Random doubles double dub1 = ThreadLocalRandom.current (). NextDouble () double dub2 = ThreadLocalRandom.current (). NextDouble () // Utskrift av dobler System. out.println ('Tilfeldige dobler:' + dub1) System.out.println ('Tilfeldige dobler:' + dub2)}}

Produksjon:

Eksempel 2:

// Java-program for å demonstrere hvordan ThreadLocalRandom fungerer // for å generere tilfeldige tall. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Generating random booleans boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.current (). nextBoolean () // Skriv ut tilfeldige Booleans System.out.println ('Tilfeldige Booleans:' + bool1) System.out.println ('Tilfeldige Booleans:' + bool2)}}

Produksjon:

Fortsetter med denne artikkelen om tilfeldig tall og strenggenerator i java

Genererer tilfeldig streng i Java

Vi kan generere tilfeldig alfanumerisk streng ved å bruke følgende metoder:

Fortsetter med denne artikkelen om tilfeldig tall og strenggenerator i java

Bruke matematikk . tilfeldig ( )

Nedenfor er et eksempel for å forstå konseptet på en bedre måte.

// Et Java-program som genererer en tilfeldig AlphaNumeric String // ved hjelp av Math.random () -metoden public class Main {// definere en funksjon for å generere en tilfeldig streng med lengde n statisk streng RequiredString (int n) {// valgte en Character random fra denne strengstrengen AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // opprett StringBuffer-størrelse på AlphaNumericString StringBuilder s = ny StringBuilder (n) y y for (

Produksjon:

Fortsetter med denne artikkelen om tilfeldig tall og strenggenerator i java

Bruke CharSet

Vi må bruke en annen pakke her, dvs. java.nio.charset-pakken.
Nedenfor er et illustrert eksempel.

// Et Java-program genererer en tilfeldig AlphaNumeric String // ved hjelp av CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// lengdedeklarasjon byte [] array = new byte [256] ny Random (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Opprette en StringBuffer StringBuffer ra = ny StringBuffer () // Tilføyer de første 20 alfanumeriske tegnene for (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // returnerer den resulterende strengreturen ra.toString ()} public static void main (String [] args) {// størrelse på tilfeldig alfanumerisk streng int n = 10 // Få og vis den alfanumeriske strengen System.out.println (RequiredString (n))}}

Produksjon:

Fortsetter med denne artikkelen om tilfeldig tall og strenggenerator i java

Bruke vanlige uttrykk

Implementeringen er som følgende eksempel.

skape en rekke objekter
// Et Java-program genererer en tilfeldig AlphaNumeric String // ved hjelp av metoden Regular Expressions import java.util. * Import java.nio.charset. * Class Main {static String getAlphaNumericString (int n) {// lengdedeklarasjon byte [] array = ny byte [256] ny Random (). nextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Opprette en StringBuffer StringBuffer ra = ny StringBuffer () // fjern alle romlige char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '') // Legg til de første 20 alfanumeriske tegnene // fra den genererte tilfeldige strengen i resultatet for (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // returnerer den resulterende strengreturen ra.toString ()} offentlig statisk void main (String [] args) {// størrelse på tilfeldig alfanumerisk streng int n = 15 // Få og vis den alfanumeriske strengen System.out.println (getAlphaNumericString (n))}}

Produksjon:

Dermed har vi kommet til en slutt på denne artikkelen. Hvis du ønsker å lære mer, sjekk ut av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplærings- og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.