Olá pessoal,
eu estou fazendo um método para realizar um calculo
e quando eu percebi que todo os tratamento que eu estava fazendo
poderia falhar se um usuário digitasse uma letra, ou seja uma String,
como eu devo fazer esse tratamento usando uma Exception
public void calculaDensidadeRelativa(Double somatorio)
throws ValorSomatorioInvalidoException, ResultadoNegativoException {
if(somatorio <= 0){
throw new ValorSomatorioInvalidoException("Valor do Somatório Inválido!");
}
else{
double resultado_aux = (somatorio / this.num_rep);
if(resultado_aux < 0){
throw new ResultadoNegativoException("Não Detectado!");
}
else{
resultado = new Double((somatorio / this.num_rep)).toString();
}
}
}
Será que alguém pode me dar uma ajuda?
[]'s.
Existe algum tipo de expressão regular no Java para
tratar qualquer tipo de letra?
[]'s.
quando o usuario digitar, vc recebe uma String correto?
vc pode fazer algo assim:
String digitada = "212j1s.22";
String semLetras = digitada.replaceAll("[a-zA-Z]", "");
if (digitada.length() == semLetras.length()) {
// valor digitado é válido
} else {
// valor digitado não é válido
}
não tenho certeza se a expressão regular está certa, tem que testar x)
[]'s
Quando você tenta converter uma String para um número, mas a String não contém um número, é lançada uma NumberFormatException. Ou seja, é só capturar essa exceção. Deu pra entender?
Outra coisa, quando você quiser descobrir uma exceção, faça a exceção acontecer.
Jóia pessoal?
Muito obrigado à todos pela ajuda,
eu fiz o que o jhonatandarosa e deu certo. 
Abraço a todos.
[quote=jhonatandarosa]quando o usuario digitar, vc recebe uma String correto?
vc pode fazer algo assim:
String digitada = "212j1s.22";
String semLetras = digitada.replaceAll("[a-zA-Z]", "");
if (digitada.length() == semLetras.length()) {
// valor digitado é válido
} else {
// valor digitado não é válido
}
não tenho certeza se a expressão regular está certa, tem que testar x)
[]'s[/quote]
Esse código até resolve, mas a maneria como é feita fica muito ruim.
Sugiro usar expressão regular para ver se possui caracteres que não sejam numeros, caso tiver, lançar um aviso para o Usuario.