números aleatorios Java

Números aleatorios Java: límites, semillas y uso seguro

Genera enteros en un intervalo sin confundir el límite superior exclusivo con uno inclusivo.

Tipo: Guía práctica Lectura: 3 min Actualizado: 2026-11-03
Ejemplo visual para Generar números aleatorios en Java con Random y SecureRandom

Guía y comprobaciones

Un intervalo pequeño

Para obtener un entero entre 10 y 15 incluidos, puedes generar seis resultados desde cero y sumar diez. El límite de Random.nextInt(bound) es exclusivo.

import java.util.Random;
public class Ejemplo {
    public static void main(String[] args) {
        Random azar = new Random(7);
        for (int i = 0; i < 4; i++) {
            int valor = azar.nextInt(6) + 10;
            System.out.println(valor >= 10 && valor <= 15);
        }
    }
}

La salida son cuatro valores true: la prueba comprueba el intervalo, no que haya aparecido cada número. La semilla fija permite repetir una secuencia durante un ejercicio; no la uses como una contraseña secreta.

Límites e igualdad

nextInt(6) puede devolver 0, 1, 2, 3, 4 o 5. Un límite de cero o negativo no es válido para esta variante. Si calculas max - min + 1 con extremos muy grandes, la operación puede desbordar un entero antes de llamar al generador. El ejemplo utiliza un intervalo pequeño precisamente para no ocultar ese problema.

No redondees un número decimal para fabricar un reparto entero sin analizar los extremos. Los intervalos interiores y los extremos pueden recibir longitudes distintas y producir una distribución que no pretendías.

Aleatorio no significa único

Dos extracciones pueden dar el mismo resultado. Para barajar una colección o elegir valores sin reposición, utiliza una estructura y un algoritmo que representen ese requisito. Añadir un bucle que repite hasta no encontrar duplicados puede resultar lento cuando el espacio disponible se agota.

Datos de seguridad

Random no es el generador apropiado para tokens, contraseñas o secretos. Para material que necesita resistencia a predicción, consulta SecureRandom y el diseño de seguridad de la aplicación. Un número entre 10 y 15 tiene muy pocas posibilidades aunque proceda de un generador criptográfico.

Para probar la función, revisa que todos los resultados estén dentro del intervalo, incluye el caso de un solo valor y trata los extremos no válidos. Un muestreo corto no demuestra por sí solo que un generador tenga una distribución correcta.

Preguntas frecuentes

¿nextInt incluye su límite?

En nextInt(bound), no. El resultado está entre cero incluido y bound excluido.

¿Random sirve para un token de acceso?

No es la elección adecuada para secretos. Usa una solución criptográfica como SecureRandom y un espacio de resultados suficiente.

Documentación oficial

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.