agenda.java

per admin darrera modificació 2020-04-06T13:06:41+02:00
package vch.agenda1; /** * Implementa una Agenda que almacena Fichas */ public class Agenda { private java.util.Vector datos; public Agenda() { datos = new java.util.Vector(); } /** Si la ficha f no está guardada en la agenda, entonces se añade */ public void add(Ficha f) { if (!datos.contains(f)) datos.addElement(f); } /** Retorna la ficha indicada o bien lanza una excepción FichaFueraDeRangoAgendaException */ public Ficha fichaAt(int n) throws FichaFueraDeRangoAgendaException { Ficha f = null; try { f = (Ficha)datos.elementAt(n); }catch(ArrayIndexOutOfBoundsException e) { FichaFueraDeRangoAgendaException x = new FichaFueraDeRangoAgendaException(n); throw x; } return f; } /** Retorna la posición de la ficha indicada o -1 si no está guardada en la Agenda */ public int indexOf(Ficha f) { return datos.indexOf(f); } /** Si f no forma parte de la Agenda y se indica una posición válida se guarda. Si n no es válida se lanza una FichaFueraDeRangoAgendaException */ public void insertFichaAt(Ficha f, int n) throws FichaFueraDeRangoAgendaException { if (!datos.contains(f)) { try{ datos.insertElementAt(f, n); } catch(ArrayIndexOutOfBoundsException e) { FichaFueraDeRangoAgendaException x = new FichaFueraDeRangoAgendaException(n); throw x; } } } /** Cierto si la Agenda no contiene datos */ public boolean isEmpty() { return datos.isEmpty(); } /** Elimina la Ficha indicada, si n no es válida se lanza una FichaFueraDeRangoAgendaException */ public void removeFichaAt(int n) throws FichaFueraDeRangoAgendaException { try { datos.removeElementAt(n); } catch (ArrayIndexOutOfBoundsException e) { FichaFueraDeRangoAgendaException x = new FichaFueraDeRangoAgendaException(n); throw x; } } /** Retorna el número de Fichas en la Agenda */ public int size() { return datos.size(); } /** Retorna una cadena con los datos de la Agenda (y de todas sus fichas) */ public String toString() { String salida; if (isEmpty()) {salida = "Agenda vacia";} else {salida = "Agenda con " + size() + " fichas";} for(int i=0; i " + fichaAt(i);} catch(AgendaException e) {System.out.println("Ha ocurrido una excepción !!!\n"+e);} } return salida; } }