Kako postupati s generatorom slučajnih brojeva i nizova na Javi?



Ovaj će vas članak upoznati s Generatorom slučajnih brojeva i nizova na Javi i slijediti ga programskom demonstracijom.

Ovaj članak će vas upoznati s Slučajan broj I String Generator u Javi i slijedite ga programskom demonstracijom. U ovom će članku biti obrađeni sljedeći smjerovi,

Postoje tri metode za generiranje slučajnih brojeva u javi pomoću ugrađenih metoda i klasa.





  • Java.util.Slučajna klasa
  • Matematika.slučajna metoda
  • Klasa ThreadLocalRandom

Pa krenimo s člankom o generatoru slučajnih brojeva i nizova na Javi,

Java .Koristan. Slučajno

Prije svega, moramo stvoriti instancu ove klase u programu, a zatim pozvati razne ugrađene metode poput nextInt (), nextDouble () itd. Pomoću instance koju smo stvorili.
Slučajni brojevi cijelih brojeva tipa, float, double, long, booleans mogu se stvoriti pomoću ove klase.
Argumenti se mogu proslijediti metodama za definiranje gornje granice do koje broj treba generirati. Na primjer, nextInt (4) generirat će brojeve u rasponu od 0 do 3 (uključujući oba).



Primjer1:

// Java program za prikaz generiranja slučajnih brojeva // pomoću java.util.Random import java.util.Random javna klasa Main {public static void main (String args []) {// stvaranje instance Random klase Random rand = new Random () // Generiranje slučajnih cijelih brojeva u rasponu od 0 do 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // Ispis slučajnih cijelih brojeva System.out.println ('Random Integers:>' + int1) System.out.println ('Random Integers:>' + int2) // Generiranje slučajnih parova double dub1 = rand.nextDouble () double dub2 = rand.nextDouble () // Ispis slučajnih parova System.out.println (' Slučajni parovi:> '+ dub1) System.out.println (' Slučajni parovi:> '+ dub2)}}

Izlaz:

Izlazni slučajni broj i generator nizova u java- Edureka



Primjer:

// Java program za prikaz generiranja slučajnih brojeva // pomoću java.util.Random import java.util.Random javna klasa Main {public static void main (String args []) {// stvaranje instance Random klase Random rand = novo Random () // Generiranje slučajnih cijelih brojeva u rasponu od 0 do 9 int int1 = rand.nextInt (10) // Ispis slučajnih cijelih brojeva System.out.println ('Random Integer:>' + int1)}}

Izlaz:

Nastavljamo s ovim člankom

Matematika . slučajno ( )

Klasa koja se naziva Matematika sastoji se od različitih metoda za izvođenje brojnih različitih numeričkih operacija, što uključuje logaritme, rješavanje potenciranja itd. Među tim operacijama postoji random () koji se koristi za generiranje slučajnih brojeva dvostrukih tipova između raspona 0,0 i 1,0 . Ova metoda vraća dvostruku vrijednost koja je veća ili jednaka 0,0, a manja ili jednaka 1,0 uz pozitivan predznak. Vrijednosti koje se vraćaju slučajnim odabirom () stroj odabire nasumično.

Primjer 1:

// Java program za demonstraciju rada // Math.random () za generiranje slučajnih brojeva import java.util. * Public class Main {public static void main (String args []) {// Generiranje slučajne vrijednosti tipa podataka double System.out.println ('Slučajna vrijednost:' + Math.random ())}}

Izlaz:

Provjera slučajnosti omogućuje izvršavanje programa još jednom.

// Java program za demonstraciju rada // Math.random () za generiranje slučajnih brojeva import java.util. * Public class Main {public static void main (String args []) {// Generiranje slučajne vrijednosti tipa podataka double System.out.println ('Druga slučajna vrijednost:' + Math.random ())}}

Izlaz:

Nastavljamo s ovim člankom o generatoru slučajnih brojeva i nizova u javi

Klasa Java.util.concurrent.ThreadLocalRandom

Ova je klasa uvedena u javi 1.7 za generiranje slučajnih brojeva cjelobrojnih, dvostrukih, logičkih vrijednosti itd.
Primjer 1:

// Java program za demonstraciju rada ThreadLocalRandom // za generiranje slučajnih brojeva. import java.util.concurrent.ThreadLocalRandom javna klasa Main {public static void main (String args []) {// Generiranje slučajnih cijelih brojeva u rasponu od 0 do 99 int int2 = ThreadLocalRandom.current (). nextInt () // Ispis slučajnih cijelih brojeva System.out.println ('Random Integers:' + int2) // Generiranje slučajnih parova double dub1 = ThreadLocalRandom.current (). NextDouble () double dub2 = ThreadLocalRandom.current (). NextDouble () // Ispis slučajnih parova sustava. out.println ('Slučajni parovi:' + dub1) System.out.println ('Slučajni parovi:' + dub2)}}

Izlaz:

Primjer 2:

// Java program za demonstraciju rada ThreadLocalRandom // za generiranje slučajnih brojeva. import java.util.concurrent.ThreadLocalRandom javna klasa Main {public static void main (String args []) {// Generiranje slučajnih logičkih vrijednosti boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.currentan). () // Ispis slučajnih logičkih vrijednosti System.out.println ('Slučajne logičke vrijednosti:' + bool1) System.out.println ('Slučajne logičke vrijednosti:' + bool2)}}

Izlaz:

Nastavljamo s ovim člankom o generatoru slučajnih brojeva i nizova u javi

Generiranje slučajnog niza u Javi

Slučajne alfanumeričke nizove možemo generirati pomoću sljedećih metoda:

Nastavljamo s ovim člankom o generatoru slučajnih brojeva i nizova u javi

Koristeći matematiku . slučajno ( )

Ispod je primjer za bolje razumijevanje koncepta.

// Java program koji generira slučajni AlphaNumeric String // koristeći metodu Math.random () javna klasa Main {// definiraj funkciju za generiranje slučajnog niza duljine n static String RequiredString (int n) {// odabrao je slučajni znak iz ovog niza String AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // stvori StringBuffer veličinu AlphaNumericString StringBuilder s = new StringBuild y y = new StringBuild y y

Izlaz:

Nastavljamo s ovim člankom o generatoru slučajnih brojeva i nizova u javi

Korištenje CharSet-a

Ovdje moramo koristiti drugačiji paket, tj. Paket java.nio.charset.
Ispod je ilustrirani primjer.

traka napretka u html-u pomoću javascripta
// Java program generira slučajni AlphaNumeric String // koristeći CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// length byte byte [] array = new byte [256] new Random (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Stvaranje StringBuffer StringBuffer ra = new StringBuffer () // Dodavanje prvih 20 alfanumeričkih znakova for (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // vraćanje rezultirajućeg niza return ra.toString ()} public static void main (String [] args) {// veličina slučajnog alfanumeričkog niza int n = 10 // Nabavite i prikažite alfanumerički niz System.out.println (RequiredString (n))}}

Izlaz:

Nastavljamo s ovim člankom o generatoru slučajnih brojeva i nizova u javi

Korištenje regularnih izraza

Provedba je sljedeća Primjer.

// Java program generira slučajni AlphaNumeric String // metodom regularnih izraza import java.util. * Import java.nio.charset. * Class Main {static String getAlphaNumericString (int n) {// length byte [] array = novi bajt [256] novi Random (). nextBytes (niz) String randomString = novi String (niz, Charset.forName ('UTF-8')) // Stvaranje StringBuffer StringBuffer ra = novi StringBuffer () // ukloni sve prostorne char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '') // Dodaj prvih 20 alfanumeričkih znakova // iz generiranog slučajnog Stringa u rezultat za (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // vraćanje rezultirajućeg niza return ra.toString ()} javna statička void main (String [] args) {// veličina slučajnog alfanumeričkog niza int n = 15 // Nabavite i prikažite alfanumerički niz System.out.println (getAlphaNumericString (n))}}

Izlaz:

Tako smo došli do kraja ovog članka. Ako želite saznati više, pogledajte Edureka, pouzdane tvrtke za internetsko učenje. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA osmišljen je kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.