Aquest article us presentarà Número aleatori I Generador de cadenes a Java i feu-ne un seguiment amb una demostració programàtica. Les següents indicacions es tractaran en aquest article,
- Java.util.Random
- Math.random ()
- Classe Java.util.concurrent.ThreadLocalRandom
- Generació de cadenes aleatòries a Java
- Ús de Math.random ()
- Utilitzant CharSet
- Ús d’expressions regulars
Hi ha tres mètodes per generar nombres aleatoris a Java mitjançant mètodes i classes integrats.
- Java.util.Random class
- Mètode Math.random
- Classe ThreadLocalRandom
Comencem, doncs, l'article sobre el generador de cadenes i números aleatoris a Java,
Java .util. Aleatori
Primer de tot, hem de crear una instància d’aquesta classe al programa i després invocar els diversos mètodes integrats, com ara nextInt (), nextDouble (), etc., utilitzant la instància que hem creat.
Mitjançant aquesta classe es poden crear nombres aleatoris de tipus enters, flotants, dobles, llargs i booleans.
Es poden passar arguments als mètodes per definir el límit superior fins al qual s'ha de generar el nombre. Per exemple, nextInt (4) generarà nombres d'entre 0 i 3 (ambdós inclosos).
Exemple 1:
// Un programa Java per mostrar la generació de números aleatoris // usant java.util.Random import java.util.Random public class Main {public static void main (String args []) {// creant una instància de Random class Random rand = new Random () // Generació de enters aleatoris entre 0 i 99 int int1 = rand.nextInt (100) int int2 = rand.nextInt (100) // Impressió de enters aleatoris System.out.println ('Random Integers:>' + int1) System.out.println ('Integers aleatoris:>' + int2) // Generació de dobles aleatoris doble dub1 = rand.nextDouble () double dub2 = rand.nextDouble () // Impressió de dobles aleatoris System.out.println (' Dobles aleatoris:> '+ dub1) System.out.println (' Dobles aleatoris:> '+ dub2)}}
Sortida:
avantatges de la sobrecàrrega de mètodes a Java
Exemple:
// Programa Java per mostrar la generació de números aleatoris // usant java.util.Random import java.util.Random public class Main {public static void main (String args []) {// creant una instància de classe Random Random rand = new Random () // Generació de nombres enters aleatoris entre 0 i 9 int int1 = rand.nextInt (10) // Impressió de sencer aleatori System.out.println ('Random Integer:>' + int1)}}
Sortida:
Matemàtiques . aleatori ( )
La classe anomenada Matemàtica comprèn diversos mètodes per realitzar diverses operacions numèriques diferents que inclouen logaritmes, resolució d’exponenciacions, etc. . Aquest mètode retorna un valor doble superior o igual a 0,0 i inferior o igual a 1,0 juntament amb un signe positiu. Els valors retornats per random () són escollits aleatòriament per la màquina.
Exemple 1:
// Un programa Java per demostrar el funcionament de // Math.random () per generar importacions de nombres aleatoris java.util. * Public class Main {public static void main (String args []) {// Generació de valor aleatori del tipus de dades doble System.out.println ('Valor aleatori:' + Math.random ())}}
Sortida:
Per comprovar l'atzar permet executar el programa una vegada més.
// Un programa Java per demostrar el funcionament de // Math.random () per generar importacions de nombres aleatoris java.util. * Public class Main {public static void main (String args []) {// Generació de valor aleatori del tipus de dades doble System.out.println ('Un altre valor aleatori:' + Math.random ())}}
Sortida:
Continuem amb aquest article sobre el nombre aleatori i el generador de cadenes a Java
Classe Java.util.concurrent.ThreadLocalRandom
Aquesta classe es va introduir a java 1.7 per generar nombres aleatoris de tipus de dades enters, dobles, booleans, etc.
Exemple 1:
// Un programa Java per demostrar el funcionament de ThreadLocalRandom // per generar números aleatoris. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Generació de nombres enters aleatoris en el rang de 0 a 99 int int2 = ThreadLocalRandom.current (). nextInt () // Impressió de sencer aleatori System.out.println ('Random Integers:' + int2) // Generació de dobles aleatoris doble dub1 = ThreadLocalRandom.current (). NextDouble () double dub2 = ThreadLocalRandom.current (). NextDouble () // Impressió de sistemes aleatoris de doble out.println ('Dobles aleatoris:' + dub1) System.out.println ('Dobles aleatoris:' + dub2)}}
Sortida:
Exemple 2:
// Programa Java per demostrar el funcionament de ThreadLocalRandom // per generar nombres aleatoris. import java.util.concurrent.ThreadLocalRandom public class Main {public static void main (String args []) {// Generació de booleans aleatoris boolean bool1 = ThreadLocalRandom.current (). nextBoolean () boolean bool2 = ThreadLocalRandom.current (). nextBoolean () // Imprimeix booleans aleatoris System.out.println ('Booleans aleatoris:' + bool1) System.out.println ('Booleans aleatoris:' + bool2)}}
Sortida:
Continuem amb aquest article sobre el nombre aleatori i el generador de cadenes a Java
Generació de cadenes aleatòries a Java
Podem generar una cadena alfanumèrica aleatòria mitjançant els mètodes següents:
Continuem amb aquest article sobre el nombre aleatori i el generador de cadenes a Java
Ús de matemàtiques . aleatori ( )
A continuació es mostra un exemple per entendre millor el concepte.
// Un programa Java que genera una cadena AlphaNumeric aleatòria // mitjançant el mètode Math.random () de classe pública Main {// defineix una funció per generar una cadena aleatòria de longitud n Cadena estàtica RequiredString (int n) {// ha escollit un caràcter aleatori a partir d'aquesta cadena de cadenes AlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // crea la mida de StringBuffer de AlphaNumericString StringBuilder s = new StringBuilder (n) y = 0Sortida:
Continuem amb aquest article sobre el nombre aleatori i el generador de cadenes a Java
Utilitzant CharSet
Aquí hem d’utilitzar un paquet diferent, és a dir, el paquet java.nio.charset.
A continuació es mostra un exemple il·lustrat.// Un programa Java genera una cadena AlphaNumeric aleatòria // usant CharSet import java.util. * Import java.nio.charset. * Class Main {static String RequiredString (int n) {// declaració de longitud byte [] array = new byte [256] new Random (). NextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Creació d'un StringBuffer StringBuffer ra = new StringBuffer () // Afegint els primers 20 caràcters alfanumèrics for (int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)) {ra.append (ch) n--}} // retornant la cadena resultant retorna ra.toString ()} public static void main (String [] args) {// mida de la cadena alfanumèrica aleatòria int n = 10 // Obtén i mostra la cadena alfanumèrica System.out.println (RequiredString (n))}}Sortida:
Continuem amb aquest article sobre el nombre aleatori i el generador de cadenes a Java
Ús d’expressions regulars
La implementació és la següent exemple.
// Un programa Java genera una cadena AlphaNumeric aleatòria // mitjançant el mètode Expressions regulars per importar java.util. * Importar java.nio.charset. * Class Main {static String getAlphaNumericString (int n) {// longitud declaració byte [] array = new byte [256] new Random (). nextBytes (array) String randomString = new String (array, Charset.forName ('UTF-8')) // Creació d'un StringBuffer StringBuffer ra = new StringBuffer () // elimina tots els espacials char String AlphaNumericString = randomString .replaceAll ('[^ A-Za-z0-9]', '') // Afegiu els primers 20 caràcters alfanumèrics // de la cadena aleatòria generada al resultat de (int k = 0 k 0) || Character.isDigit (AlphaNumericString.charAt (k)) && (n> 0)) {ra.append (AlphaNumericString.charAt (k)) n--}} // retornant la cadena resultant retorna ra.toString ()} estàtica pública void main (String [] args) {// mida de la cadena alfanumèrica aleatòria int n = 15 // Obtén i mostra la cadena alfanumèrica System.out.println (getAlphaNumericString (n))}}Sortida:
Així hem arribat al final d’aquest article. Si voleu obtenir més informació, consulteu el per Edureka, una empresa d’aprenentatge en línia de confiança. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate & Spring.
Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.