Estou criando uma biblioteca de validação de dados. E criei um método para saber se o que foi digitado é um valor númerico ou não.
Aqui vai o código:
publicvoidsetIsNumeric(Stringnumero){booleanresposta=false;try{inttestanto=Integer.parseInt(numero);resposta=true;System.out.println("É um número");}catch(Exceptionerro){resposta=false;System.out.println("Não é um número");}}
Na parte da codificação está tudo bem, ele funciona!
Mas o que eu quero saber é como eu faço para a classe que o utilizar o método setIsNumeric() receber o boolean da váriavel resposta, para saber se é um número ou não.
O metodo chamaria isInteger e não isNumeric , pois numerico é genérico, podendo ser Double, Float, etc.
Mudaria também o tratamento da exceção … trataria (se não me engano é NumerException … e não Exception, pois eh uma exceção genérica)
Meu amigo,te recomendo fortemente o livro Effective Java , pois há boas práticas de programação. Coisas que realmente deixam seu código mais robusto. Ei li ele em 2002 . .e desde então melhorei muito a qualidade do meu software.
até+
CarvalR2
ha … vale a pena você fazer para você a biblioteca para aprender.
Mas para usar profissionalmente, te recomendo a suite Commons do Apache …
commons lang tem várias validações deste tipo.
IagoRock
Valeu pelas dicas.
Vou procurar este livro!
IagoRock
Valeu pela ajuda de vocês.
Consegui fazer funcionar meu método
Aqui vai o código:
Primeiro a método setIsNumeric().
publicclassBiblioteca_Validacao{booleanresposta;publicvoidsetIsNumeric(Stringnumero){try{doubletestanto=Double.parseDouble(numero);resposta=true;System.out.println("É um número");}catch(Exceptionerro){resposta=false;System.out.println("Não é um número");}}publicbooleansetResposta(){returnresposta;}}
Agora o arquivo para fazer o teste:
importjavax.swing.JOptionPane;publicclassTeste{publicstaticvoidmain(StringArgs[]){Biblioteca_Validacaovalidacao=newBiblioteca_Validacao();Stringtestando=JOptionPane.showInputDialog(null,"Entre com um valor");validacao.setIsNumeric(testando);if(validacao.setResposta()==true){JOptionPane.showMessageDialog(null,"É um número");}else{JOptionPane.showMessageDialog(null,"Não é um número");}}}
Eder_Peixoto
Olá Iago!
1. Métodos set: Em Java, quando o nome do método inicia com set, significa (isso é apenas um padrão, NÃO uma obrigação) que alterará algum atributo (variável que representa uma característica do teu objeto). Dessa forma, o teu método setIsNumeric dá a entender que alterará algo.