Validação de Hora - RESOLVIDO

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.