jueves, 5 de septiembre de 2013

Práctica # 1 Llenar Vectores con Clase Scanner en Java

Saludos,

El día de hoy quiero compartir una pequeña práctica de trabajo con vectores en java que surgió a raíz de algo que vi planteado en una página de internet de esas donde solicitas ayuda con tus tareas. 

Bueno el enunciado es el siguiente:
Realiza un programa en Java para obtener de un arreglo entero de 50 elementos, que elementos son pares y que elementos impares.

Se deberá de desarrollar la clase Números  que contenga como atributos el arreglo de tipo entero y dos arreglos donde almacenara los números pares e impares. Debe de contener 3 métodos uno llamado par, otro impar y otro desplegar:

•El método par verifica que números del arreglo original son pares y los almacena en un arreglo nuevo con los elementos pares.

•El método impar verifica que números del arreglo original son impares y los almacena en un arreglo nuevo con los elementos impares.

•El método desplegar, despliega todos los elementos que son pares e impares pero desplegando una leyenda de que ese elemento es par o impar. 
Mi solución no está muy al pie de la letra de lo solicitado, ya que no tengo un arreglo con un tamaño fijo de 50 elementos, sino que lo dejo a elección del usuario haciendo uso de la clase Scanner para capturar los datos introducidos a través del teclado.

Éste código se puede mejorar así que siéntanse libres de hacerlo. 

El proyecto consta de 2 Clases: 

1. Clase VectorNumeros: contiene los métodos y variables solicitados en el proyecto 
2. Clase PruebaNumeros: contiene el metodo Main y nos permite instanciar un objeto de la clase Numeros y hacer un llamado a sus métodos para la ejecución deseada.

A continuación el código de ambas clases:

Primero La clase VectorNumeros con sus métodos:

package VectorNumeros;

package VectorNumeros;
import java.util.Scanner;
public class Numeros {
    /*Definimos las Variables*/
    private int intVecNumeros[];
    private int intVecNumerosPares[];
    private int intVecNumerosImpares[];
    /*Metodo constructor con parámetros*/
    public Numeros(int[] intVecNumeros, int[] intVecNumerosPares,
    int[] intVecNumerosImpares)
    {
        this.intVecNumeros = intVecNumeros;
        this.intVecNumerosPares = intVecNumerosPares;
        this.intVecNumerosImpares = intVecNumerosImpares;
    }
    /*Metodo para llenar el vector intVecNumeros */
    public void Llenar()
    {
        Scanner Lector = new Scanner(System.in);
        for (int i=0; i<intVecNumeros.length; i++)
        {
            int pos=i+1;
            System.out.println("Ingrese el número"+ 
                               "de la posición "+pos);
            intVecNumeros[i] = Lector.nextInt();
        }
    }
    /*Metodo para llenar el vector intVecNumerosPares*/
    public void Pares()
    {
        int cont=0;
        for (int i=0; i<intVecNumeros.length; i++)
        {
            if (intVecNumeros[i]%2==0)
            {
                intVecNumerosPares[cont]=intVecNumeros[i];
                cont++;
            }
        }
    }
    /*Metodo para llenar el vector intVecNumerosImpares*/
    public void Impares()
    {
        int cont=0;
        for (int i=0; i<intVecNumeros.length; i++)
        {
            if (intVecNumeros[i]%2!=0)
            {
                intVecNumerosImpares[cont]=intVecNumeros[i];
                cont++;
            }
        }
    }
    public void Imprimir()
    {
        for (int i=0; i<intVecNumerosPares.length; i++)
        {
            System.out.println("Los numeros pares son: "
                                +intVecNumerosPares[i]);
        }
        for (int j=0; j<intVecNumerosImpares.length; j++)
        {
            System.out.println("Los numeros impares son: "
            +intVecNumerosImpares[j]);
        }
    }
}
Ahora, el código de la clase PruebaNumeros con la que se comprueba el funcionamiento de la clase VectorNumeros:

package VectorNumeros;
import java.util.Scanner;
public class PruebaNumeros {
    private static int Tamaño;
    private static Scanner tam = new Scanner(System.in);
    public static void main(String[] args) {
        System.out.println("¿Cuantos números desea Ingresar?");
        Tamaño= tam.nextInt();
        Numeros num1 = new Numeros(new int[Tamaño],
        new int[Tamaño] , new int[Tamaño]);
        num1.Llenar();
        num1.Pares();
        num1.Impares();
        num1.Imprimir();
    }
}
Por último, les dejo el enlace para que descarguen el paquete, el cual fue creado en NetBeans IDE 7.3.1

http://www.mediafire.com/download/nzczwx0n3997b1a/VectorNumeros.rar


Espero que éste ejemplo les sea de utilidad.