Clase Java.util.Random en Java

La clase aleatoria se utiliza para generar números pseudoaleatorios en java. Una instancia de esta clase es segura para subprocesos. Sin embargo, la instancia de esta clase es criptográficamente insegura. Esta clase proporciona varias llamadas a métodos para generar diferentes tipos de datos aleatorios, como float, double, int.

Constructores:

  • Random() : Crea un nuevo generador de números aleatorios
  • Aleatorio (semilla larga) : crea un nuevo generador de números aleatorios utilizando una sola semilla larga

Declaración:

public class Random
               extends Object
               implements Serializable

Métodos:

  1. java.util.Random.doubles(): Devuelve un flujo efectivamente ilimitado de valores dobles pseudoaleatorios, cada uno entre cero (inclusive) y uno (exclusivo)
    Sintaxis:
    public DoubleStream doubles()
    Returns:
    a stream of pseudorandom double values
  2. java.util.Random.ints(): Devuelve un flujo efectivamente ilimitado de valores int pseudoaleatorios
    Sintaxis:
    public IntStream ints()
    Returns:
    a stream of pseudorandom int values
  3. java.util.Random.longs(): Devuelve un flujo efectivamente ilimitado de valores largos pseudoaleatorios
    Sintaxis:
    public LongStream longs()
    Returns:
    a stream of pseudorandom long values
  4. next(int bits): java.util.Random.next(int bits) Genera el siguiente número pseudoaleatorio
    Sintaxis:
    protected int next(int bits)
    Parameters:
    bits - random bits
    Returns:
    the next pseudo random value from this 
    random number generator's sequence
  5. java.util.Random.nextBoolean(): Devuelve el siguiente valor booleano pseudoaleatorio, uniformemente distribuido de la secuencia de este generador de números aleatorios
    Sintaxis:
    public boolean nextBoolean()
    Returns:
    the next pseudorandom, uniformly distributed boolean value 
    from this random number generator's sequence
  6. java.util.Random.nextBytes(byte[] bytes) : genera bytes aleatorios y los coloca en una array de bytes proporcionada por el usuario
    Sintaxis:
    public void nextBytes(byte[] bytes)
    Parameters:
    bytes - the byte array to fill with random bytes
    Throws:
    NullPointerException - if the byte array is null
  7. java.util.Random.nextDouble(): Devuelve el siguiente valor doble pseudoaleatorio, uniformemente distribuido entre 0.0 y 1.0 de la secuencia de este generador de números aleatorios
    Sintaxis:
    public double nextDouble()
    Returns:
    the next pseudo random, uniformly distributed double 
    value between 0.0 and 1.0 from this 
    random number generator's sequence
  8. java.util.Random.nextFloat(): Devuelve el siguiente valor flotante pseudoaleatorio, uniformemente distribuido entre 0.0 y 1.0 de la secuencia de este generador de números aleatorios.
    Sintaxis:
    public float nextFloat()
    Returns:
    the next pseudorandom, uniformly distributed float value 
    between 0.0 and 1.0 from this 
    random number generator's sequence
  9. java.util.Random.nextGaussian(): Devuelve el siguiente valor doble pseudoaleatorio, gaussiano (“normalmente”) distribuido con media 0,0 y desviación estándar 1,0 de la secuencia de este generador de números aleatorios
    Sintaxis:
    public double nextGaussian()
    Returns:
    the next pseudorandom, Gaussian ("normally") distributed double
    value with mean 0.0 and standard deviation 1.0 from this 
    random number generator's sequence
  10. java.util.Random.nextInt() : Devuelve el siguiente valor int pseudoaleatorio, uniformemente distribuido de la secuencia de este generador de números aleatorios
    Sintaxis:
    public int nextInt()
    Returns:
    the next pseudorandom, uniformly distributed int value from 
    this random number generator's sequence
  11. java.util.Random.nextInt(int enlazado): Devuelve un valor int pseudoaleatorio, uniformemente distribuido entre 0 (inclusive) y el valor especificado (exclusivo), extraído de la secuencia de este generador de números aleatorios
    Sintaxis:
    public int nextInt(int bound)
    Parameters:
    bound - the upper bound (exclusive). Must be positive.
    Returns:
    the next pseudorandom, uniformly distributed int value 
    between zero (inclusive) and bound 
    (exclusive) from this random number generator's sequence
    Throws:
    IllegalArgumentException - if bound is not positive
  12. java.util.Random.nextLong(): Devuelve el siguiente valor largo pseudoaleatorio, uniformemente distribuido de la secuencia de este generador de números aleatorios
    Sintaxis:
    public long nextLong()
    Returns:
    the next pseudorandom, uniformly distributed long value
    from this random number 
    generator's sequence
  13. java.util.Random.setSeed(semilla larga): Establece la semilla de este generador de números aleatorios usando una sola semilla larga
    Sintaxis:
    public void setSeed(long seed)
    Parameters:
    seed - the initial seed

Métodos heredados de la clase java.lang.Object

  • clon
  • es igual
  • finalizar
  • obtenerClase
  • código hash
  • notificar
  • notificar a todos
  • Espere

Programa Java para demostrar el uso de la clase Random

// Java program to demonstrate
// method calls of Random class
import java.util.Random;
  
public class Test
{
    public static void main(String[] args)
    {
        Random random = new Random();
        System.out.println(random.nextInt(10));
        System.out.println(random.nextBoolean());
        System.out.println(random.nextDouble());
        System.out.println(random.nextFloat());
        System.out.println(random.nextGaussian());
        byte[] bytes = new byte[10];
        random.nextBytes(bytes);
        System.out.printf("[");
        for(int i = 0; i< bytes.length; i++)
        {
            System.out.printf("%d ", bytes[i]);
        }
        System.out.printf("]\n");
          
          System.out.println(random.nextLong());  
      System.out.println(random.nextInt());
       
      long seed = 95;
      random.setSeed(seed);
        
      // Note: Running any of the code lines below
      // will keep the program running as each of the 
      // methods below produce an unlimited random 
      // values of the corresponding type
  
      /* System.out.println("Sum of all the elements in the IntStream returned = " + 
        random.ints().count());
      System.out.println("Count of all the elements in the DoubleStream returned = " + 
        random.doubles().count());
      System.out.println("Count of all the elements in the LongStream returned = " + 
        random.longs().count());
       
      */
     
  }
}     

Producción:

4
true
0.19674934340402916
0.7372021
1.4877581394085997
[-44 75 68 89 81 -72 -1 -66 -64 117 ]
158739962004803677
-1344764816

Referencia:

Este artículo es una contribución de Mayank Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *