Como faço pra validar a hora que o usuário informou ?
Para prevenir que o usuario digite 25:00:00 p. ex.
Uma possibilidade pode ser está ai abaixo , só que o resto dos if(s) fica por sua conta
public class ValidaHora {
public static void main(String[] args) {
String hora = "25:00:00";
// separa a hora o minuto e segundo em um array
String[] hms = hora.split(":");
int horas = Integer.parseInt( hms[0]);
int minutos = Integer.parseInt( hms[1]);
int segundos = Integer.parseInt( hms[2]);
if( horas > 24 ){
System.out.println( " Hora Invalida ");
}
}
}
bravox
Um jeito mais apropriado:
SimpleDateFormat sdf = new SimpleDateFormat( "HH:mm:ss" );
// com set lenient a data não se adapta a numeros
// muito grandes. Se não setado, por exemplo ao
// inserir 25h a data ficaria como 1h da manhã
// do dia seguinte.
sdf.setLenient( false );
try
{
Date d = sdf.parse( "25:00:00" );
}
catch( ParseException e )
{
e.printStackTrace();
}
1 curtida
[quote=LIPE]Um jeito mais apropriado:
[code]
SimpleDateFormat sdf = new SimpleDateFormat( “HH:mm:ss” );
// com set lenient a data não se adapta a numeros
// muito grandes. Se não setado, por exemplo ao
// inserir 25h a data ficaria como 1h da manhã
// do dia seguinte.
sdf.setLenient( false );
try
{
Date d = sdf.parse( “25:00:00” );
}
catch( ParseException e )
{
e.printStackTrace();
}
[/code][/quote]
Muito obrigado.
Resolveu meu problema.