Publicidad

martes, 12 de marzo de 2013

Método que reciba un arreglo de personas, y retorne la cantidad de personas que tienen mas de n años


1) Método que reciba un arreglo de personas, y retorne la cantidad de personas que tienen mas de n años.
2) Método que reciba 2 arreglos de personas y retorne un arreglo con todas las instancias de objeto que existen en ambos arreglos.
3) Método re cursiva que reciba 1 arreglo de personas y retorne una cadena con los nombres contenidos en las instancias de objeto persona del arreglo.
Sé que es sencillo pero no logro desarrollar los métodos bien.



Solución.


PASO 1

Crear una clase persona con sus atributos.


public class Persona {
     
    private String nombres;
    private int edad;

    public Persona() {
    }

    public Persona(String nombres, int edad) {
        this.nombres = nombres;
        this.edad = edad;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public String getNombres() {
        return nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres;
    }

    @Override
    public String toString() {
        return "nombres=" + nombres + "nedad=" + edad;
    }
     
}


PASO 2

Crear una clase lista ,la cual almacenara las personas.

public class Lista {
     
    private Persona L[];
    private int n;

    public Lista() {
        L=new Persona[50];
        n=0;
    }
    public void agregar(Persona x)
    {
        L[n]=x;
        n++;
    }
    public Persona getPersona(int p)
    {
        if(p>=0 && p<getN())
            return L[p];
        else
            return null;
    }
    public int getN()
    {
        return n;
    }
    @Override
    public String toString()
    {
        String s="";
        for(int i=0;i<getN();i++)
            s=s+"n"+L[i];
        return s;
         
    }
}

PASO 3 y Final

Crear una clase Main con un menú la cual puede agregar personas,y los metodos que pediste.

import javax.swing.JOptionPane;

public class Main {

    public static int cantidadPersonas(Lista lista,int nanios)
    {
        int s=0;
        for(int i=0;i<lista.getN();i++)
        {
            if(lista.getPersona(i).getEdad()>nanios)
                s=s+1;
        }
        return s;
    }
    public static Lista unirDosArreglos(Lista lista1,Lista lista2)
    {
        Lista R=new Lista();
        for(int i=0;i<lista1.getN();i++)
            R.agregar(lista1.getPersona(i));
        for(int i=0;i<lista2.getN();i++)
            R.agregar(lista2.getPersona(i));
        return R;
    }
    public static void mostrar(Lista lista)
    {
        JOptionPane.showMessageDialog(null, lista.toString());
    }
    public static void main(String []agrs)
    {
        Lista lista=new Lista();
        Lista lista1=new Lista();
        Lista lista2=new Lista();
        Persona p;
        int op;
        do{
            op=Integer.parseInt(JOptionPane.showInputDialog("nCalculadoran"+
            "************n"+
            "[1] AGREGAR PERSONAn"+
            "[2] PERSONA MAYORES A n AÑOSn"+
            "[3] UNIR DOS ARREGLOS DE PERSONASn"+
            "[4] MOSTRAR RECURSIVOn"+
            "[5] MOSTRARn"+
            "[6] SALIRn"+
            "Ingresa una opcion:"));

            switch(op)
            {
                case 1:
                    String nombres=JOptionPane.showInputDialog("Nombres");
                    int edad=Integer.parseInt(JOptionPane.showInputDialog("Ingrese edad"));
                    p=new Persona(nombres, edad);
                    lista.agregar(p);
                    JOptionPane.showMessageDialog(null,"Persona agregada");
                    break;
                case 2:
                    int n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese la edad"));
                    JOptionPane.showMessageDialog(null,"Cantidad de Personas mayores a "+n+":"+cantidadPersonas(lista, n));
                    break;
                case 3:
                    int opc;
                    do{
                        opc=Integer.parseInt(JOptionPane.showInputDialog("nLLenar Listasn"+
                                "[1] Agregar Lista 1n"+
                                "[2] Agregar Lista 2n"+
                                "[3] mostrarn"+
                                "[4] salirn"+
                                "ingresa una opcion:"));
                        switch(opc)
                        {
                            case 1:
                                String nombres1=JOptionPane.showInputDialog("Nombres");
                                int edad1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese edad"));
                                p=new Persona(nombres1, edad1);
                                lista1.agregar(p);
                                JOptionPane.showMessageDialog(null,"Persona agregada");
                                break;
                            case 2:
                                String nombres2=JOptionPane.showInputDialog("Nombres");
                                int edad2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese edad"));
                                p=new Persona(nombres2, edad2);
                                lista2.agregar(p);
                                JOptionPane.showMessageDialog(null,"Persona agregada");
                                break;
                            case 3:
                                mostrar(unirDosArreglos(lista1, lista2));
                                break;
                        }
                    }while(opc!=4);
                    break;
                case 4:
                    break;
                case 5:
                    mostrar(lista);
                    break;
                     
            }
        }while(op!=6);
   
    }
}










No hay comentarios:

Publicar un comentario