Una agenda sencilla

per Victor Carceler darrera modificació 2020-04-06T13:06:42+02:00

Para poner en práctica todos los conocimientos adquiridos hasta ahora, se desarrollará una agenda sencilla. Esta agenda utilizará un array para guardar las diferentes fichas y mediante un menú permitirá al usuario añadir, listar y eliminar fichas.

  1. Defina la clase Ficha de manera que tenga las propiedades privadas:
  • count, entero estático con valor inicial 0
  • id, entero
  • apellidos, cadena
  • nombre, cadena
  • teléfono, cadena
  • En la clase Ficha, implemente el constructor Ficha() de manera que:
    • Al nuevo objeto se le asigne el valor de count a la propiedad id
    • Cada vez que se cree una nueva Ficha, se incremente el valor de count
  • En la clase Ficha, implemente los métodos públicos:
    • int getID()
    • String getApellidos(), void setApellidos(String apellidos)
    • String getNombre(), void setNombre(String nombre)
    • String getTeléfono(), void setTeléfono(String teléfono)
  • Defina la clase Agenda de manera que tenga las propiedades privadas:
    • Ficha fichas[], el array que se utilizará para guardar las fichas almacenadas en la agenda. El array fichas tendrá una inicialización explícita que lo haga apuntar a un array de 0 elementos. De este modo, en el resto de métodos de la clase no será necesario comprobar si el array fichas apunta a null o a un array válido.
  • Se pretende que la clase Agenda permita registrar objetos de la clase Ficha. Por ello se debe implementar en la clase Agenda una serie de métodos (inspirados en java.util.Vector) que permitan gestionar fichas.En la clase Agenda, implemente los métodos públicos:
    • void add(Ficha f): Añadirá la ficha a la agenda. Para ello será necesario crear un nuevo array con la capacidad actual de la agenda + 1. Copiar los datos de la agenda en dicho array, colocar la nueva ficha al final y hacer que la agenda pase a utilizar el nuevo array.
    • void clear(): Limpia la agenda eliminando las referencias a todas las fichas
    • Ficha elementAt(int n): Retorna la referencia a la ficha solicitada. Si n está fuera de rango retorna null.
    • boolean isEmpty(): Retorna cierto si la agenda está vacía o falso en caso contrario
    • Ficha remove(int n): Elimina de la agenda el elemento n, retornando una referencia a dicho objeto. Si n está fuera de rango retorna null y no se elimina nada.
    • int size(): Retorna el número de fichas guardadas en la agenda.
    • String toString(): Retornará "Agenda <hashCode()> con <n> elementos"
  • Implemente la clase AgendaSimple de manera que permita la usuario:
    • Agregar nuevas fichas
    • Listar el contenido de la agenda
    • Eliminar una ficha indicando su número (del 1 al n)
    La aplicación AgendaSimple estará basada en una interfaz de texto que presentará menús al usuario. Se puede utilizar la clase http://java.sun.com/javase/6/docs/api/java/util/Scanner.html, para procesar la entrada.