restriccion de números

Grillada
07 de Marzo del 2005
hola me gustaria saber como restringir en una clase hora las horas para que no le puedas pasar un parametro de mas de dos cifras y ni superior a 23 en la hora y a 59 en los minutos y segundos
muchas gracias

David
07 de Marzo del 2005
Hola

Algo tal que así, ¿no?

public class Hora {
private int h;
private int m;

public Hora() {
this.h = 0;
this.m = 0;
}

public Hora(int hora, int minuto) throws IllegalArgumentException {
if ((hora < 0) || (hora > 23))
throw new IllegalArgumentException("Valor de hora no permitido: " + h);

if ((minuto < 0) || (minuto > 59))
throw new IllegalArgumentException("Valor de minuto no permitido: " + m);

this.h = h;
this.m = m;
}

public void setHora(int hora) throws IllegalArgumentException {
if ((hora < 0) || (hora > 23))
throw new IllegalArgumentException("Valor de hora no permitido: " + h);

this.h = h;
}

public void setMinuto(int minuto) throws IllegalArgumentException {
if ((minuto < 0) || (minuto > 59))
throw new IllegalArgumentException("Valor de minuto no permitido: " + m);

this.m = m;
}

public int getHora() {
return this.h;
}

public int getMinuto() {
return this.m;
}

public String toString() {
return h + ":" + m;
}

}