
Se trata de programar un código que pida al usuario una lista de números enteros. De éstos números, los pares son almacenados y los impares descartados (pero se lleva la cuenta de los descartados). Una función llamada rellenaPares() realiza esta tarea.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
System.out.print("¿Cuántas cifras quieres para almacenar? ");
n = sc.nextInt();
int a[] = new int[n];
int ignorados = rellenaPares(a);
System.out.println("Se han descartado " + ignorados + " elementos impares.");
System.out.println("El array es de pares es " + Arrays.toString(a));
} //main
static int rellenaPares(int pares[]) {
Scanner sc = new Scanner(System.in);
int i = 0; // contador de posiciones.
int imp = 0; //contador de impares
int num;
while (i < pares.length) {
System.out.print("Introduce número: ");
num = sc.nextInt();
if (num % 2 == 0) {
pares[i] = num; //par
i++;
}
else {
imp++; // impar
}
} // while
return(imp);
} // rellenaPares()
El código es un simple ejercicio de funciones y arrays. El usuario elige el número de posiciones a almacenar y y después introduce todos los datos que desee hasta completar el vector con números pares. Ningún número impar se almacena pero la función rellenaPares() devuelve el valor de descartes, A destacar que el vector a[] es modificado localmente en la función en su copia pares[], pero se modifica también el original.
Hola, me gustaría saber como se puede hacer este código pero con for.