Cargo actual:Index > Cómo generar números aleatorios sin repetición en Java

Cómo generar números aleatorios sin repetición en Java

Actualizado:05-01Fuente: consolidación de la red
Advertisement

Cómo generar números aleatorios sin repetición en Java


El lenguaje Java proporciona utilidades para la generación de números aleatorios dentro de sus programas. Si desea generar una serie de números al azar, pero no quiere que ninguno de ellos se repetirán, es necesario utilizar pruebas condicionales y bucles. Mediante la adición de cada número se genera a un objeto de colección conjunto, se puede decir de inmediato si alguno de ellos están duplicados. Si el número es un duplicado, puede indicar a Java para seguir generando nuevos números hasta que encuentra uno que ya no haya agregado al conjunto. El proceso consiste en dos lazos y una sentencia condicional.

Instrucciones

Importe las utilidades de Java necesarios para su generación de números aleatorios y objeto establecer. Agregue el código siguiente en la parte superior de la declaración de la clase:
importar java.util. *;

Cree un objeto de establecer para almacenar los números que generan:
TreeSet MyNumbers = new TreeSet ();

Crear una instancia de la clase al azar para generar sus números al azar:
RandGen Random = new Random ();

Crear un bucle para generar números aleatorios. El siguiente bucle se ejecutará 20 veces:
for (int i = 0; i <20; i ++) {
// Generación de números aquí
}

Dentro de este bucle, puede agregar el procesamiento para generar y ver sus números al azar para los duplicados. Modifique el número 20 para reflejar el número total de valores aleatorios usted quiere que su programa para generar. Dentro del bucle, generar un entero aleatorio:
int randNum = randGen.nextInt ();

Esto ejecutará cada vez que se repite en bucle.

Añadir un segundo bucle para hacer frente a números duplicados. Agregue el código siguiente dentro de su primer bucle después de la línea de generación de números:
para (;;) {
// Trato con los duplicados
}

Este es un bucle infinito, por lo que se ejecutará sin fin hasta que el código rompe explícitamente fuera de él. Dentro de este bucle, puede instruir a Java para seguir generando números aleatorios hasta que se genera una que no lo ha utilizado.

Añadir una prueba condicional en cada número aleatorio. Inserte el siguiente código dentro de su bucle infinito:
si (myNumbers.add (randNum)) romper;
otra cosa randNum = randGen.nextInt ();

Cuando intenta agregar un elemento a un conjunto, el método devuelve verdadero o falso. Si el elemento no está ya en el conjunto, devuelve true, en cuyo caso el código puede salir del bucle. Si el elemento ya está en el conjunto, el método devuelve false, en cuyo caso se puede instruir a Java para elegir otro número aleatorio. El bucle luego ejecutar nuevamente, probando el nuevo valor para ver si es un duplicado. Este proceso continúa hasta que se encuentre un nuevo valor.

Pon a prueba tu código. Agregue la siguiente línea después de su bucle infinito, pero todavía dentro del bucle externo:
System.out.println (randNum);

Esto le permitirá ver a simple vista que sus números son todos únicos. Guarde el archivo, compilar y ejecutar su programa para probarlo. Navegar a través de la salida para comprobar que sus funciones están trabajando.

Consejos y advertencias

Puede generar números aleatorios dentro de un cierto rango pasando un parámetro al método "nextInt".

Si va a generar números dentro de un cierto rango, asegúrese de que su bucle no está configurado para ejecutar más veces que los valores posibles dentro de ese rango.

  • Cómo generar números aleatorios sin repetición en JavaCómo generar números aleatorios sin repetición en Java Actualizado:05-01

    El lenguaje Java proporciona utilidades para la generación de números aleatorios dentro de sus programas. Si desea generar una serie de números al azar, pero no quiere que ninguno de ellos se repetirán, es necesario utilizar pruebas condicionales y b

  • HTG Explica: Cómo las computadoras generar números aleatoriosHTG Explica: Cómo las computadoras generar números aleatorios Actualizado:08-10

    Computadoras generan números aleatorios para todo, desde la criptografía a los videojuegos y juegos de azar. Hay dos categorías de números aleatorios - "verdaderos" números aleatorios y números pseudoaleatorios - y la diferencia es importan

  • Cómo hacer números aleatorios en Visual BasicCómo hacer números aleatorios en Visual Basic Actualizado:02-25

    A veces puede que tenga que generar números aleatorios para llenar una matriz en sus aplicaciones de Visual Basic para realizar pruebas. Utilice la clase "Random" para generar números que cumplen con ciertos requisitos estadísticos de aleat

  • Cómo generar nombres aleatorios y Teléfonos con PowerShell Actualizado:11-14

    Cuando usted necesita un conjunto de datos para la prueba o demostración, y ese conjunto necesita para representar información de identificación personal (PII) , por lo general no desea utilizar datos reales que representa a las personas reales. Aquí

  • Cómo utilizar randn en MATLAB para generar números aleatorios dentro de ciertos límites Actualizado:01-12

    MATLAB es un programa de software técnico que puede realizar aritmética, cálculo, cálculos de álgebra lineal, figura el trazado, procesamiento de señales y cientos de otras aplicaciones. Su versatilidad proviene de sus miles de incorporados, funcione

  • Cómo generar números impares en PythonCómo generar números impares en Python Actualizado:05-31

    Los programadores pueden generar números en Python cualquier número de maneras. Si bien existe la generación de números aleatorios como construido en función, un programador puede querer construir listas de patrones específicos, recurrentes de número

  • Cómo calcular números aleatoriosCómo calcular números aleatorios Actualizado:03-02

    Si usted está tomando una clase de estadísticas, usted puede necesitar para calcular números aleatorios. También puede calcular números aleatorios para utilizar para el bingo y otros juegos. Las calculadoras gráficas tienen un generador de números al

  • Cómo usar números aleatorios en hojas de cálculo de Excel [Sugerencia]Cómo usar números aleatorios en hojas de cálculo de Excel [Sugerencia] Actualizado:01-21

    Si es necesario agregar números al azar a una hoja de Excel siempre puede introducirlos manualmente. Sin embargo, podría tomar un tiempo para entrar en un montón de números aleatorios. En su lugar, añadir números aleatorios con funciones RAND y RANDB

  • Cómo generar colores aleatorios en After Effects Actualizado:03-27

    Los controles de expresión en Adobe After Effects permiten a los usuarios añadir más detalles instrucciones y configuraciones para cada capa en un proyecto. Si desea generar colores al azar para una bola de discoteca, efecto clásico o cambiar el text

  • Cómo generar un número aleatorio en Java Actualizado:08-14

    El lenguaje de programación Java es una herramienta poderosa en ciencias de la computación, ofreciendo posibilidades ilimitadas para todo tipo de programas. Entre las muchas características de Java es la capacidad de generar números aleatorios, tanto