Conceptos básicos de Java: clase aleatoria (aleatoria)

Método de construcción 

Hay una clase aleatoria en el paquete java.util de Java, que puede generar números aleatoriamente dentro de un rango de valores especificado. La clase Random proporciona dos métodos de construcción, como se muestra en la siguiente tabla.

declaración de método

Descripcion funcional

aleatorio()

Constructor, utilizado para crear un generador de números pseudoaleatorios

Aleatorio (semilla larga)

Método de construcción, utilizando una semilla larga para crear un generador de números pseudoaleatorios

Ejemplo:

import java.util.Random;
 public class myclass {
	public static void main(String args[]) {
		Random r = new Random(); // 不传入种子
		// 随机产生10个[0,100)之间的整数
		for (int x = 0; x < 10; x++) {
			System.out.println(r.nextInt(100));
		}
	}
 }

Cuando ejecutamos este programa dos veces, la secuencia de números aleatorios generados dos veces no es la misma. Esto se debe a que, al crear una instancia de Random, sin especificar una semilla, el sistema utilizará la marca de tiempo actual como semilla para generar un número aleatorio. Cuando se especifica la semilla, la secuencia de números aleatorios generada dos veces será la misma.

Métodos comúnmente utilizados

 En comparación con el método random() de Math , la clase Random proporciona más métodos para generar varios números pseudoaleatorios, no solo números aleatorios de tipo entero, sino también números aleatorios de tipo punto flotante. Los métodos comúnmente utilizados de la clase Random son los siguientes.

Aquí hay algunos métodos comúnmente usados ​​de la clase Random:

declaración de método

Descripcion funcional

doble siguienteDoble ()

Genera aleatoriamente un número aleatorio de tipo doble,

Devuelve un valor de tipo doble entre 0,0 y 1,0.

flotar siguienteFlotar()

Genera aleatoriamente un número aleatorio de tipo flotante ,

Devuelve un valor de tipo float entre 0,0 y 1,0.

int siguienteInt()

Genera aleatoriamente un número aleatorio de tipo int

int nextInt(int n)

Genera aleatoriamente números aleatorios de tipo int entre 0 y n ,

Devuelve un valor entre 0 (inclusive) y el valor especificado n (exclusivo).

  1. Generar números enteros aleatorios:
    Random random = new Random();
    int randomNumber = random.nextInt();  // 生成int范围内的随机整数
    int randomNumberInRange = random.nextInt(100);  // 生成0到99之间的随机整数
    
  2. Generar números aleatorios de punto flotante:
    Random random = new Random();
    double randomDouble = random.nextDouble();  // 生成0.0到1.0之间的随机浮点数
    
  3. Generar valores booleanos aleatorios:
    Random random = new Random();
    boolean randomBoolean = random.nextBoolean();  // 随机生成一个布尔值,true或false
    
  4. Genera bytes aleatorios:
    Random random = new Random();
    byte[] buffer = new byte[10];
    random.nextBytes(buffer);  // 将随机字节填充到指定的字节数组中
    

Aviso:

La clase Random genera un número pseudoaleatorio, es decir, parece aleatorio pero en realidad se calcula mediante un algoritmo determinista. Si necesita números aleatorios de mayor calidad, considere usar la clase java.security.SecureRandom

Supongo que te gusta

Origin blog.csdn.net/m0_74293254/article/details/132270422
Recomendado
Clasificación