Ako sa vysporiadať s generátorom náhodných čísel a reťazcov v Jave?



Tento článok vám predstaví generátor náhodných čísel a reťazcov v Jave a nadviaže na neho programovou ukážkou.

Tento článok vás zoznámi Náhodné číslo A generátor reťazcov v Jave a nadviazať na to programovou ukážkou. V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,

Existujú tri metódy na generovanie náhodných čísel v jave pomocou zabudovaných metód a tried.





  • Java.util.Random trieda
  • Matematická metóda
  • Trieda ThreadLocalRandom

Začnime teda článkom o generátore náhodných čísel a reťazcov v Jave,

Java .Užitočné. Náhodné

Najskôr musíme v programe vytvoriť inštanciu tejto triedy a potom pomocou inštancie, ktorú sme vytvorili, vyvolať rôzne vstavané metódy ako nextInt (), nextDouble () atď.
Pomocou tejto triedy je možné vytvárať náhodné čísla celých čísel typu, float, double, long, booleans.
Argumenty je možné predložiť metódam na definovanie hornej hranice, do ktorej sa má číslo generovať. Napríklad nextInt (4) vygeneruje čísla v rozsahu 0 až 3 (obe vrátane).



Príklad 1:

// Program Java na zobrazovanie generovania náhodných čísel // pomocou java.util.Random import java.util.Random verejná trieda Main {public static void main (String args []) {// vytvorenie inštancie náhodnej triedy Random rand = new Random () // Generovanie náhodných celých čísel v rozsahu 0 až 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // Tlač náhodných celých čísel System.out.println ('Náhodné celé čísla:>' + int1) System.out.println ('Náhodné celé čísla:>' + int2) // Generovanie náhodných dvojíc double dub1 = rand.nextDouble () double dub2 = rand.nextDouble () // Tlač náhodných dvojíc System.out.println (' Náhodná štvorhra:> '+ dub1) System.out.println (' Náhodná štvorhra:> '+ dub2)}}

Výkon:

Výstup - generátor náhodných čísel a reťazcov v jave - Edureka



Príklad:

// Program Java na zobrazovanie generovania náhodných čísel // pomocou java.util.Random import java.util.Random verejnej triedy Main {public static void main (String args []) {// vytvorenie inštancie triedy Random Random rand = new Random () // Generovanie náhodných celých čísel v rozsahu 0 až 9 int int1 = rand.nextInt (10) // Tlač náhodných celých čísel System.out.println ('Random Integer:>' + int1)}}

Výkon:

Pokračujeme v tomto článku

Matematika . náhodný ( )

Trieda pomenovaná ako Matematika pozostáva z rôznych metód na vykonávanie rôznych numerických operácií, ktoré zahŕňajú logaritmy, riešenie umocňovania atď. Medzi týmito operáciami je random (), ktorý sa používa na generovanie náhodných čísel dvojitých typov v rozmedzí od 0,0 do 1,0 . Táto metóda vracia dvojnásobnú hodnotu, ktorá je buď väčšia alebo rovná 0,0 a menšia alebo rovná 1,0 spolu s kladným znamienkom. Hodnoty, ktoré vracia funkcia random (), sú náhodne vybrané strojom.

Príklad 1:

// Program Java na demonštráciu fungovania // Math.random () na generovanie náhodných čísel import java.util. * Public class Main {public static void main (String args []) {// Generovanie náhodnej hodnoty dátového typu double System.out.println ('Náhodná hodnota:' + Math.random ())}}

Výkon:

Ak chcete skontrolovať náhodnosť, vykonajme program ešte raz.

zodpovedný vs kuchár vs bábka
// Program Java na demonštráciu fungovania // Math.random () na generovanie náhodných čísel import java.util. * Public class Main {public static void main (String args []) {// Generovanie náhodnej hodnoty dátového typu double System.out.println ('Ďalšia náhodná hodnota:' + Math.random ())}}

Výkon:

Pokračujeme týmto článkom o generátore náhodných čísel a reťazcov v Jave

Trieda Java.util.concurrent.ThreadLocalRandom

Táto trieda bola zavedená v java 1.7 na generovanie náhodných čísel celých čísel dátových, dvojitých, boolovských hodnôt atď.
Príklad 1:

// Program Java na demonštráciu fungovania ThreadLocalRandom // na generovanie náhodných čísel. import java.util.concurrent.ThreadLocalRandom verejná trieda Main {public static void main (String args []) {// Generovanie náhodných celých čísel v rozsahu 0 až 99 int int2 = ThreadLocalRandom.current (). nextInt () // Tlač náhodného celého čísla System.out.println ('Random Integers:' + int2) // Generovanie náhodných dvojíc double dub1 = ThreadLocalRandom.current (). NextDouble () double dub2 = ThreadLocalRandom.current (). NextDouble () // Tlač náhodných dvojitých systémov. out.println ('Náhodné zdvojnásobenie:' + dub1) System.out.println ('Náhodné zdvojnásobenie:' + dub2)}}

Výkon:

Príklad 2:

// Program Java na demonštráciu fungovania ThreadLocalRandom // na generovanie náhodných čísel. import java.util.concurrent.ThreadLocalRandom verejná trieda Main {public static void main (String args []) {// Generovanie náhodných booleans boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.current (). nextBoolean () // Print random Booleans System.out.println ('Random Booleans:' + bool1) System.out.println ('Random Booleans:' + bool2)}}

Výkon:

Pokračujeme týmto článkom o generátore náhodných čísel a reťazcov v Jave

Generovanie náhodných reťazcov v Jave

Náhodný alfanumerický reťazec môžeme vygenerovať pomocou nasledujúcich metód:

Pokračujeme týmto článkom o generátore náhodných čísel a reťazcov v Jave

Používanie matematiky . náhodný ( )

Ďalej uvádzame príklad na lepšie pochopenie konceptu.

// Program Java, ktorý generuje náhodný reťazec AlphaNumeric // pomocou metódy Math.random () verejná trieda Main {// definuje funkciu na vygenerovanie náhodného reťazca s dĺžkou n static String RequiredString (int n) {// vybral znak random z tohto reťazca reťazca AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // vytvoriť veľkosť reťazca StringBuffer pre AlphaNumericString StringBuilder s = nový StringBuilder y = nový StringBuilder

Výkon:

Pokračujeme týmto článkom o generátore náhodných čísel a reťazcov v Jave

Pomocou CharSet

Tu musíme použiť iný balík, tj. Balíček java.nio.charset.
Nižšie je uvedený ilustrovaný príklad.

// Program Java vygeneruje náhodný reťazec AlphaNumeric String // pomocou CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// length declaration byte [] pole = new byte [256] new Random (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Create a StringBuffer StringBuffer ra = new StringBuffer () // Pripojenie prvých 20 alfanumerických znakov for (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // vrátenie výsledného reťazca return ra.toString ()} public static void main (String [] args) {// veľkosť náhodného alfanumerického reťazca int n = 10 // Získanie a zobrazenie alfanumerického reťazca System.out.println (RequiredString (n))}}

Výkon:

Pokračujeme týmto článkom o generátore náhodných čísel a reťazcov v Jave

Používanie regulárnych výrazov

Implementácia je uvedená v nasledujúcom príklade.

// Program Java generuje náhodný reťazec AlphaNumeric String // pomocou metódy regulárnych výrazov import java.util. * Import java.nio.charset. * Class Main {statický reťazec getAlphaNumericString (int n) {// dĺžka deklarácie bajtu [] pole = new byte [256] new Random (). nextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Create a StringBuffer StringBuffer ra = new StringBuffer () // remove all spacial char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '')) // Pridajte prvých 20 alfanumerických znakov // z vygenerovaného náhodného reťazca do výsledku pre (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // vrátenie výsledného reťazca vráti ra.toString ()} verejnú statiku void main (String [] args) {// veľkosť náhodného alfanumerického reťazca int n = 15 // Získanie a zobrazenie alfanumerického reťazca System.out.println (getAlphaNumericString (n))}}

Výkon:

Týmto sme sa dostali na koniec tohto článku. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je navrhnutý tak, aby vás vyškolil na základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.