Foros del Web » Programación para mayores de 30 ;) » Java »

Comparar valor de array con numero random

Estas en el tema de Comparar valor de array con numero random en el foro de Java en Foros del Web. Hola a todos, Vereís ando con unos problemillas para comparar el valor de un array. Ya que lo que intento hacer y no consigo es: ...
  #1 (permalink)  
Antiguo 23/03/2019, 05:24
 
Fecha de Ingreso: noviembre-2015
Mensajes: 10
Antigüedad: 9 años
Puntos: 0
Comparar valor de array con numero random

Hola a todos,
Vereís ando con unos problemillas para comparar el valor de un array. Ya que lo que intento hacer y no consigo es: comparar el valor de la cada posicion del array, en caso de que no haya ningun valor repetido este se guarda en un array final. En caso de encontrar algun valor repetido ejecuto el random de nuevo hasta que el valor no este repetido y se guarda en el array final. No se si me explicado del todo correctamente.
Código:
//Variables
        int normal [] = new int [6];
        int dife [] = new int [6];
        
        //Recorro el array normal y lo lleno de números aleatorios
        for (int i = 0; i < normal.length; i++) {
            normal[i]=(int) (Math.random()*100);
        }
        
        //Ordeno el array
        sort(normal);
        
        //Imprimo por pantalla
        System.out.println(Arrays.toString(normal));
        
        //Comparo el valor de las posiciones del array normal, si hay valores iguales
        //se repite el random hasta que no hay coincidencia, los valores diferentes
        //se guardan en un array nuevo evitando coincidencias
        for (int i = 0; i < normal.length; i++) {
            for (int j = 0; j < i; j++) {
                while(normal[i]==normal[j]){
                    for (int k = 0; k < dife.length; k++) {
                        dife[k]=(int) (Math.random()*100);
                    }
                }
                dife[j]=i;  
            }
        }
        
        System.out.println(Arrays.toString(dife));
  #2 (permalink)  
Antiguo 23/03/2019, 21:33
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: Comparar valor de array con numero random

Una manera de resolver el tener numeros diferentes, alternativa a la que intentas hacer, es generarlos diferentes inicialmente. Evitas tener que hacer iteraciones, posiblemente varias, por repeticion.

Sugiero tener un arreglo con todos los numeros del 0 al 100, o del 1 al 100 o los que quieras que sean parte de tu conjunto final.

Luego usas random para elegir alguno de ellos y lo eliminas del conjunto de los que puedes elegir.
Si logras hacer esto, nunca elegiras 2 veces el mismo numero.

Una manera de hacerlo, usando un arreglo, es copiar el ultimo elemento del arreglo a la posicion donde esta el que se acaba de elegir.
__________________
Visita mi perfil en LinkedIn
  #3 (permalink)  
Antiguo 25/03/2019, 10:54
 
Fecha de Ingreso: noviembre-2015
Mensajes: 10
Antigüedad: 9 años
Puntos: 0
Respuesta: Comparar valor de array con numero random

No había pensado en la forma que has comentado y la verdad, que tiene mucho más sentido. Incluso se ve el código más limpio sin tener tanta iteración.

¡Muchas gracias!

Etiquetas: arrays, comparaciones, matriz, programacion, random
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:03.