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