Dos funciones útiles en Java: rellenar arrays y compararlos

En este post voy a mostrar dos funciones para usar en un código Java que pueden ser útiles para cualquier programa que esté usando Arrays.

– Función para rellenar un array: la siguiente función sirve para que el usuario pueda ir rellenando desde teclado todos los valores de un array. Los valores se introducen uno a uno pulsando la tecla de intro. Además, ordena los datos al final.

static void rellena(int relleno[]) { // Función para rellenar arrays.

Scanner sc = new Scanner(System.in);
System.out.println(" introduce los valores uno a uno pulsando intro: ");

for (int i = 0; i < relleno.length; i++) {

  relleno[i] = sc.nextInt();

 } // for
Arrays.sort(relleno); // Ordena el array.
}

Una forma de llamar a la función anterior sería, por ejemplo, la siguiente:

int t[] = new int[6];

rellena(t);
System.out.println("Los datos introducidos son: " + Arrays.toString(t));

Cada vez que queramos rellenar manualmente un arrays, tan sólo tenemos que usar la función rellena().

– Función para comparar arrays: la siguiente función busca valores iguales entre dos arrays ordenados y devuelve el número de coincidencias.

static int compara(int a[], int b[]) {

int coincidencias = 0;

for ( int i = 0; i < a.length; i++) { 
  
    if (Arrays.binarySearch(b, a[i]) >= 0)
    coincidencias++;
  } // for
return(coincidencias);
}

El método binarySearch(b, a) de la clase Arrays busca en el array a coincidencias con el array b. Tanto a como b deben estar ordenados. Una forma de llamar a la función anterior seria, por ejemplo, la siguiente:

System.out.println("Ha habido " + compara(t,g) + " coincidencias.");

La función compara() devuelve un entero que es el número de coincidencias.

Deja una respuesta