“Conocimientos Programación>Programación Java

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

2012/1/21
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 repita , es necesario utilizar las pruebas y los bucles condicionales. Mediante la adición de cada número se genera un objeto de colección conjunto , se puede decir inmediatamente si alguna de ellas son duplicados. Si el número es un duplicado , puede indicar a Java para continuar generando nuevos números hasta que encuentra uno que ya no lo ha agregado al conjunto . El proceso consiste en dos circuitos y una declaración condicional. Instrucciones
1

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

Crear un objeto de conjunto para almacenar los números que generan : . MyNumbers TreeSet TreeSet = new ();

Cree una instancia de la clase al azar para generar los números aleatorios : Random randGen = new Random ();
2

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

Dentro de este bucle , se puede agregar el procesamiento de generar y comprobar el azar número de duplicados . Modifique el número 20 para reflejar el número total de valores aleatorios que desea que su programa va a generar. Dentro del bucle , generar un entero aleatorio : int = randNum randGen.nextInt ();

ejecutará cada vez que el bucle se repite
3

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 : for (; ;) {//hacer frente a los duplicados }

Esto es un bucle infinito , por lo que se ejecutará indefinidamente hasta que el código se rompe explícitamente de ella. Dentro de este bucle , puede indicar a Java para continuar la generación de números aleatorios hasta que se genera una que no lo ha usado.
4

Añade una prueba condicional en cada número aleatorio. Inserte el siguiente código dentro de su bucle infinito : if (( randNum ) myNumbers.add ) break; más randNum = randGen.nextInt ();

Cuando intenta agregar un elemento a un conjunto , el método devuelve true o falsas. Si el elemento no está 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 puede indicar a Java para elegir otro número aleatorio. El bucle ejecutará entonces otra vez , probando el nuevo valor para ver si es un duplicado . Este proceso continúa hasta que se encuentra un nuevo valor.
5

probar el código . Agregue la siguiente línea después de su bucle infinito , pero aún dentro del bucle externo : System.out.println ( randNum ) ;

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

Programación Java
Cómo quitar las referencias de entidad en Saxon DocumentBuilder
Redireccionar Vs . Avanzar en Java
Cómo convertir String de Java a la Fecha
Cómo reemplazar un carácter en el JavaServer Pages
Cómo hacer un archivo CSV en Java
Presentación en PowerPoint Tutorial : Core Java
Cómo navegar matrices bidimensionales en Java
Cómo convertir Oracle Forms a Java
Conocimientos Informáticos © http://www.ordenador.online