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.