Ya lo hice, pongo aqui el codigo por si a alguien en el futuro le puede ayudar. Gracias Chuidiang.
Puede haber errores, aun no lo he probado del todo
Código:
public class Agenda {
Scanner entrada= new Scanner(System.in);
Contactos contacto[] = new Contactos[10];
String nombre;
int dni, edad, telefono, pos, posNombre;
boolean encontrado = false;
public void menu()
{
System.out.print("*********************************\n*Bienvenido a tu Agenda Personal*\n*********************************\n");
System.out.println("Selecciona una opcion:");
System.out.println("1- Insertar Persona\n2- Buscar(por nombre)\n3- Eliminar Persona\n4- Mostrar Agenda\n5- Salir");
int opcion = entrada.nextInt();
switch(opcion)
{
case 1: insertarContacto();
break;
case 2: System.out.println("Escribe el nombre de la persona que desea encontrar: ");
String nom = entrada.next();
buscarContacto(nom);
break;
case 3: eliminarContacto();
break;
case 4: mostrarAgenda();
break;
case 5: System.out.println("Saliendo..."); System.exit(0);
default: System.out.println("Opcion no valida"); System.exit(0);
}
}
public void insertarContacto()
{
if(pos < contacto.length)
{
System.out.println("Nombre: ");
nombre = entrada.next();
System.out.println("Edad: ");
edad = entrada.nextInt();
System.out.println("DNI: ");
dni = entrada.nextInt();
System.out.println("Telefono: ");
telefono = entrada.nextInt();
contacto[pos] = new Contactos(nombre, edad, dni, telefono);
pos++;
System.out.println("Contacto insertado con exito");
}else
{
System.out.println("Agenda completa. ¿Desea eliminar algun contacto? s\n");
char resp = entrada.next().charAt(0);
if(resp == 's')
eliminarContacto();
else
menu();
}
menu();
}
public void buscarContacto(String n)
{
for(int i = 0 ; i < pos ; i++)
{
if(contacto[i].getNombre().equalsIgnoreCase(n))
{
posNombre = i;
mostrarContacto(i);
encontrado = true;
}
}
if(encontrado == false)
System.out.println("No hay resultados con ese nombre");
preguntar();
}
public void eliminarContacto()
{
System.out.println("Escribe el contacto que desea eliminar");
String nom = entrada.next();
buscarContacto(nom);
if(encontrado == true)
{
for(int i = posNombre ; i < pos; i++)
{
if(posNombre == contacto.length)
pos--;
else
{
contacto[i + 1] = contacto[i];
pos--;
}
}
}else
System.out.println("No existe dicho contacto");
preguntar();
}
public void mostrarContacto(int contact)
{
System.out.println(contacto[contact].nombre+" "+contacto[contact].dni+" "+contacto[contact].edad
+" "+contacto[contact].telefono);
preguntar();
}
public void mostrarAgenda()
{
for(int i = 0 ; i < pos ; i++)
{
System.out.println(contacto[i].nombre+" "+contacto[i].dni+" "+contacto[i].edad
+" "+contacto[i].telefono);
}
preguntar();
}
public void preguntar()
{
System.out.println("¿Desea realizar alguna otra operacion? s/n");
char resp = entrada.next().charAt(0);
if(resp == 's')
menu();
else
{
System.out.println("Saliendo....");
System.exit(0);
}
}
}
Bueno, he puesto muy rapido el codigo...hay bastantes errores, aunque son tonterias.