Hur man hanterar slumpmässigt nummer och stränggenerator i Java?



Den här artikeln presenterar dig för slumpmässiga nummer- och stränggeneratorer i Java och följer upp den med en programmatisk demonstration.

Denna artikel kommer att presentera dig för Slumpmässigt nummer Och stränggenerator i Java och följ upp den med en programmatisk demonstration. Följande tips kommer att behandlas i den här artikeln,

Det finns tre metoder för att generera slumpmässiga nummer i java med hjälp av inbyggda metoder och klasser.





  • Java.util.Random-klass
  • Math. Slumpmässig metod
  • ThreadLocalRandom-klass

Så låt oss komma igång artikel om slumpmässigt nummer och stränggenerator i Java,

Java .Användbar. Slumpmässig

Först och främst måste vi skapa en instans av denna klass i programmet och sedan åberopa de olika inbyggda metoderna som nextInt (), nextDouble () etc med hjälp av den instans vi skapade.
Slumpmässiga antal typtal, float, double, long, booleans kan skapas med den här klassen.
Argument kan skickas till metoderna för att definiera den övre gränsen till vilken numret ska genereras. Till exempel genererar nextInt (4) siffror i intervallet 0 till 3 (båda inklusive).



Exempel 1:

// Ett Java-program för att visa slumptalsgenerering // med hjälp av java.util.Random import java.util.Random public class Main {public static void main (String args []) {// skapa en instans av Random class Random rand = new Random () // Generera slumpmässiga heltal i intervallet 0 till 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // Skriva ut slumpmässiga heltal System.out.println ('Random Integers:>' + int1) System.out.println ('Slumpmässiga heltal:>' + int2) // Generera slumpmässiga dubblar dubbla dub1 = rand.nextDouble () dubbla dub2 = rand.nextDouble () // Skriva ut slumpmässiga dubblar System.out.println (' Slumpmässiga dubblar:> '+ dub1) System.out.println (' Slumpmässiga dubblar:> '+ dub2)}}

Produktion:

Output-slumpmässigt tal och stränggenerator i Java-Edureka



Exempel:

// Java-program för att visa slumptalsgenerering // med hjälp av java.util.Random import java.util.Random public class Main {public static void main (String args []) {// skapa en instans av Random class Random rand = new Slumpmässig () // Generera slumpmässiga heltal i intervallet 0 till 9 int int1 = rand.nextInt (10) // Skriva ut slumpmässigt heltal System.out.println ('Slumpmässigt heltal:>' + int1)}}

Produktion:

Fortsätter med den här artikeln

Matematik . slumpmässig ( )

Den klass som heter Math består av olika metoder för att utföra ett antal olika numeriska operationer som inkluderar logaritmer, lösning av exponentiering etc. Bland dessa operationer finns det slumpmässigt () som används för att generera slumpmässiga nummer av typdubblar mellan 0,0 och 1,0 . Denna metod returnerar ett dubbelvärde som antingen är större än eller lika med 0,0 och mindre än eller lika med 1,0 tillsammans med ett positivt tecken. Värdena som returneras av slumpmässiga () väljs slumpmässigt av maskinen.

lookup transformation i informatica exempel

Exempel 1:

// Ett Java-program för att visa hur // Math.random () genererar slumpmässiga nummer import av java.util. * Public class Main {public static void main (String args []) {// Generating random value of data type double System.out.println ('Slumpmässigt värde:' + Math.random ())}}

Produktion:

För att kontrollera slumpmässigheten kan du köra programmet en gång till.

// Ett Java-program för att visa hur // Math.random () genererar slumpmässiga nummer import av java.util. * Public class Main {public static void main (String args []) {// Generating random value of data type double System.out.println ('Ett annat slumpmässigt värde:' + Math.random ())}}

Produktion:

Fortsätter med den här artikeln om slumpmässigt nummer och stränggenerator i java

Java.util.concurrent.ThreadLocalRandom-klass

Denna klass introducerades i java 1.7 för att generera slumpmässiga antal datatyps heltal, dubblar, booléer etc.
Exempel 1:

// Ett Java-program för att visa hur ThreadLocalRandom fungerar // för att generera slumptal. importera java.util.concurrent.ThreadLocalRandom public class Huvud {public static void main (String args []) {// Generera slumpmässiga heltal i intervallet 0 till 99 int int2 = ThreadLocalRandom.current (). nextInt () // Skriv ut slumpmässigt heltal System.out.println ('Slumpmässiga heltal:' + int2) // Generera slumpmässigt dubblerar dubbel dub1 = ThreadLocalRandom.current (). NextDouble () dubbel dub2 = ThreadLocalRandom.current (). NextDouble () // Skriv ut slumpmässigt dubblerar System. out.println ('Random Doubles:' + dub1) System.out.println ('Random Doubles:' + dub2)}}

Produktion:

Exempel 2:

// Java-program för att visa hur ThreadLocalRandom fungerar // för att generera slumptal. importera java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Generating random boolean boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.current (). nextBoolean () // Skriv ut slumpmässiga Booleans System.out.println ('Random Booleans:' + bool1) System.out.println ('Random Booleans:' + bool2)}}

Produktion:

Fortsätter med den här artikeln om slumpmässigt nummer och stränggenerator i java

Generera slumpmässig sträng i Java

Vi kan generera slumpmässiga alfanumeriska strängar med hjälp av följande metoder:

Fortsätter med den här artikeln om slumpmässigt nummer och stränggenerator i java

Använda matematik . slumpmässig ( )

Nedan följer ett exempel för att förstå konceptet på ett bättre sätt.

// Ett Java-program som genererar en slumpmässig AlphaNumeric-sträng // med hjälp av Math.random () -metoden public class Main {// definierar en funktion för att generera en slumpmässig sträng av längd n statisk String RequiredString (int n) {// valde ett slumpmässigt tecken från denna strängsträng AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // skapa StringBuffer-storlek för AlphaNumericString StringBuilder s = ny StringBuilder (y) y y för (

Produktion:

Fortsätter med den här artikeln om slumpmässigt nummer och stränggenerator i java

Använda CharSet

Vi måste använda ett annat paket här, dvs java.nio.charset-paketet.
Nedan följer ett illustrerat exempel.

// Ett Java-program genererar en slumpmässig AlphaNumeric-sträng // med hjälp av CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// längddeklaration byte [] array = new byte [256] ny slumpmässig (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Skapa en StringBuffer StringBuffer ra = ny StringBuffer () // Lägg till de första 20 alfanumeriska tecknen för (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // returnerar den resulterande strängreturen ra.toString ()} public static void main (String [] args) {// size of random alphanumeric string int n = 10 // Get and display the alphanumeric string System.out.println (RequiredString (n))}}

Produktion:

Fortsätter med den här artikeln om slumpmässigt nummer och stränggenerator i java

Använda reguljära uttryck

Implementeringen är som följande exempel.

// Ett Java-program genererar en slumpmässig AlphaNumeric String // med hjälp av Regular Expressions-metoden import java.util. * Import java.nio.charset. * Class Main {static String getAlphaNumericString (int n) {// längddeklaration byte [] array = ny byte [256] ny slumpmässig (). nextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Skapa en StringBuffer StringBuffer ra = ny StringBuffer () // ta bort allt utrymme char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '') // Lägg till de första 20 alfanumeriska tecknen // från den genererade slumpmässiga strängen i resultatet för (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // returnerar den resulterande strängen returnerar ra.toString ()} offentlig statisk void main (String [] args) {// storlek på slumpmässig alfanumerisk sträng int n = 15 // Hämta och visa den alfanumeriska strängen System.out.println (getAlphaNumericString (n))}}

Produktion:

Således har vi kommit till ett slut på denna artikel. Om du vill veta mer, kolla in av Edureka, ett pålitligt inlärningsföretag online. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för att träna dig för både grundläggande och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på den här bloggen så kommer vi tillbaka till dig så snart som möjligt.