Hola a todos, hoy os voy a explicar como podemos rellenar un array de números aleatorios en Java.
A veces, nos puede venir bien tener un array de números aleatorios para testear o como parte de un algoritmo.
Para generar un número aleatorio, tenemos un manual para ello:
Como generar números aleatorios con el método Math.random de Java
Lo único que tenemos que hacer es un simple bucle, llamando a esta función por cada iteración.
Así seria el código:
public class RellenarArrayNumeros { public static void main(String[] args) { int[] numerosAleatorios = new int[10]; // generamos los numeros aleatorios for (int i = 0; i < numerosAleatorios.length; i++) { numerosAleatorios[i] = generaNumeroAleatorio(1, 10); } // Mostramos los numeros aleatorios for (int i = 0; i < numerosAleatorios.length; i++) { System.out.println(numerosAleatorios[i]); } } /** * Genera un numero aleatorio entre dos numeros. NOTA: se incluye el minimo, * pero no el maximo * * @param minimo Número máximo * @param maximo Número minimo * @return numero entre minimo y maximo */ protected static int generaNumeroAleatorio(int minimo, int maximo) { int num = (int) Math.floor(Math.random() * (minimo - (maximo + 1)) + (maximo + 1)); return num; } }
El resultado seria este (diferentes ejecuciones):
Si lo queremos reutilizar, podríamos hacerlo así:
public class RellenarArrayNumeros { public static void main(String[] args) { int[] numerosAleatorios = new int[10]; // generamos los numeros aleatorios rellenaArrayAleatorios(numerosAleatorios, 1, 10); // Mostramos los numeros aleatorios for (int i = 0; i < numerosAleatorios.length; i++) { System.out.println(numerosAleatorios[i]); } } /** * Genera un numero aleatorio entre dos numeros. NOTA: se incluye el minimo, * pero no el maximo * * @param minimo Número máximo * @param maximo Número minimo * @return numero entre minimo y maximo */ protected static int generaNumeroAleatorio(int minimo, int maximo) { int num = (int) Math.floor(Math.random() * (minimo - (maximo + 1)) + (maximo + 1)); return num; } /** * Rellena un array de numeros aleatorios entre un mínimo y un máximo * * @param array Array que queremos rellenar * @param minimo Número mínimo * @param maximo Número máximo */ public static void rellenaArrayAleatorios(int array[], int minimo, int maximo) { for (int i = 0; i < array.length; i++) { array[i] = generaNumeroAleatorio(minimo, maximo); } } }
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta