Una agenda sencilla
per Victor Carceler
—
darrera modificació
2020-04-06T12:06:42+01: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.
- 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
- 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
- int getID()
- String getApellidos(), void setApellidos(String apellidos)
- String getNombre(), void setNombre(String nombre)
- String getTeléfono(), void setTeléfono(String teléfono)
- 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.
- 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"
- Agregar nuevas fichas
- Listar el contenido de la agenda
- Eliminar una ficha indicando su número (del 1 al n)