Bom dia galera,
eh pq criei uma class utilLib para fazer a validacao do cpf e to chamando o metodo, tudo blz ja teste o metodo ta funcionando, so que qdo fui criar a condicao de chamamento do metodo axo q fiz algo erro, que so diz que todo cpf eh invalido, podem me da uma força ai e darem uma olhada do condigo pra ver onde ta o erro:
//@esta eh a class com o metodo
public class UtilLib {
public static boolean validarCPF(String cpf) {
int soma = 0;
if (cpf.length() == 11) {
for (int i = 0; i < 9; i++) {
soma += (10 - i) * (cpf.charAt(i) - '0');
}
soma = 11 - (soma % 11);
if (soma > 9) {
soma = 0;
}
if (soma == (cpf.charAt(9) - '0')) {
soma = 0;
for (int i = 0; i < 10; i++) {
soma += (11 - i) * (cpf.charAt(i) - '0');
}
soma = 11 - (soma % 11);
if (soma > 9) {
soma = 0;
}
if (soma == (cpf.charAt(10) - '0')) {
return true;
}
}
}
return false;
}
}
// este é onde to chamando o metodo pra verificar a validaçao do cpf
private void CadastrarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
A classe deu tudo certinho so que na hora de da dando erro no if e collor da uma olhada ai lokit"s:
//se n for valido
/*if (UtilLib.validarCPF(pincel.cpf)) {
JOptionPane.showConfirmDialog(null, "cpf inválido!");
} else{*/
String xCpf = JCPF.getText();
//clocque utilLib que é o nome da minha classe este nome utilLib ta sublinado de vermelho
if (!utilLib.validaCpf(xCpf)) {
JOptionPane.showMessageDialog(null, " Cpf Incorreto ! “);
} else {
pincel.cpf.setBackground(Color.WHITE); //assim como o Color tb ta sublinado de vermelho
pincel.cadastraCliente();
txtNome.setText(”");
JCPF.setText("");
Endereco.setText("");
RG.setText("");
Telefone.setText("");
Cidade.setText("");
CEP.setText("");
Estado.setText("");
}
Quando for postar seu código, utilize a formatação do fórum por favor, como o amigo aí de cima falou.
Talvez este tópico ajude, caso não saiba a formatação.
wellvsilva, segue uma dica. vc não precisamos reinventar a roda, não sei c é o seu caso, vc pode estar querendo apreender, mas c vc estiver querendo algumas coisas utilitarias(padrao) vc deve usar algum framework de utilitarios eu mesmo tem um, que disponibilizei chama-se OpenSutils-Br4J e lá tem função para validar cpf cnpj e muitas outras coisas, existe tb o proj da Caelum chamado Stella, tb tem da apache que tem uma serie de coisas uteis chamadas de commons o bom de usar tais libs é pq alguem já passou pelo problema já usou, corrigiu e testou e funciona…
a classe ok, o problema agora é no chamamento desse metodo, no primiero momento a duvida era pq qdo ia cadastrar na Jpanel chamava a janela cadastrar qdo colocava o cpf mesmo q fosse valido o if so levava para a informaçao que o cpf era invalido nao deixava desviar ok. Peguei seu codigo coleque na minha classe UtilLib ate pq da pra enteder melhor. Agora testei seu ultimo post e apareceu algumas palavras grifadas segue abaixo:
[code]
private void CadastrarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cliente pincel = new cliente();
pincel.cpf = JCPF.getText();
pincel.endereco = Endereco.getText();
pincel.nome = txtNome.getText();
pincel.rg = RG.getText();
pincel.telefone = Telefone.getText();
pincel.cidade = Cidade.getText();
pincel.cep = CEP.getText();
pincel.estado = Estado.getText();
String xCpf = JCPF.getText();
if (!UtilLib.validarCPF(cpf)){ // informa que cpf esta sublinado vermelho
JOptionPane.showConfirmDialog(null, "cpf inválido!");
else{ //tb aki informa algo errado que nao o que eh ainda
JCPF.setBackground(Color.WHITE); // o nome Color tb ta vermelho
pincel.cadastraCliente();
txtNome.setText("");
JCPF.setText("");
Endereco.setText("");
RG.setText("");
Telefone.setText("");
Cidade.setText("");
CEP.setText("");
Estado.setText("");
}
}
// Variables declaration - do not modify
private javax.swing.JFormattedTextField CEP;
private javax.swing.JLabel CPF;
private javax.swing.JButton Cadastrar;
private javax.swing.JTextField Cidade;
private javax.swing.JTextField Endereco;
private javax.swing.JTextField Estado;
private javax.swing.JFormattedTextField JCPF;
private javax.swing.JLabel JCep;
private javax.swing.JLabel JCidade;
private javax.swing.JLabel JEndereco;
private javax.swing.JLabel JEstado;
private javax.swing.JLabel JTelefone;
private javax.swing.JLabel Nome;
private javax.swing.JTextField RG;
private javax.swing.JFormattedTextField Telefone;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel tRG;
private javax.swing.JTextField txtNome;
// End of variables declaration