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;
}
}