TransWikia.com

Segundo array con los numeros pares del primero

Stack Overflow en español Asked by Laker on February 19, 2021

Tengo que imprimir un segundo array en el que salgan solo los numeros
pares del primer array alguien sabe como hacerlo?

package com.company;
       
    import java.util.Arrays;
    
    public class Main {
    
        public static void main(String[] args) {
            // write your code here
            int[] numeros = new int[15];
            int aleatorio = (int) (Math.random()*100)+50;
    
            for (int x = 0; x<numeros.length; x++)
                numeros[x] = (int) (Math.random()*100)+50;
            System.out.println(Arrays.toString(numeros));
    
           
        }
    
    }

One Answer

Creas un segundo array para guardar los números pares del primer array.

int[] pares = new int[numeros.length];

Cuando vas rellenando el primer array con numeros aleatorios, compruebas si ese numero es par, si lo es, lo guardar en el array pares que hemos creado.

for (int x = 0; x < numeros.length; x++) {
    numeros[x] = (int) (Math.random() * 100) + 50;
    if (numeros[x] % 2 == 0) {
        pares[x] = numeros[x];
    }
}

Por ultimo lo visualizar como lo tienes hecho hasta ahora:

    System.out.println(Arrays.toString(pares));

O haces un bucle for con una condición para que no muestre los espacios del array asignados por 0:

for (int i = 0; i < pares.length; i++) {
    if (pares[i] != 0) {
        System.out.print(pares[i] + " ");
    }
}

Ejemplo completo:

public class test {

    public static void main(String[] args) {
        // write your code here
        int[] numeros = new int[15];
        int[] pares = new int[numeros.length];
        int aleatorio = (int) (Math.random() * 100) + 50;

        for (int x = 0; x < numeros.length; x++) {
            numeros[x] = (int) (Math.random() * 100) + 50;
            if (numeros[x] % 2 == 0) {
                pares[x] = numeros[x];
            }
        }

        System.out.println(Arrays.toString(numeros));

        for (int i = 0; i < pares.length; i++) {
            if (pares[i] != 0) {
                System.out.print(pares[i] + " ");
            }
        }
    }
}

Output

[88, 89, 77, 149, 63, 130, 68, 130, 143, 108, 81, 97, 143, 115, 52]//Array
88 130 68 130 108 52 // Números pares de ese array

Correct answer by DevMind on February 19, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP