Validar cpf

1 resposta
mymyself

Ola galera…achei um validador de cpf na internet mais ai to com alguns problemas aki (iniciante em java)

mostrarei primeiramente meu codigo depois coloco a duvida abaixo

[i][b]
public static boolean valida_cpf(String CNPJ_CPF) {
if(CNPJ_CPF.length() == 11) { //CPF

int acumulador1 = 0;

int acumulador2 = 0;

int resto = 0;

StringBuffer resultado = new StringBuffer();

String digitoVerificadorCPF = CNPJ_CPF.substring((CNPJ_CPF.length() - 2),
CNPJ_CPF.length());

for(int i = 1; i < (CNPJ_CPF.length() - 1); i++) {

acumulador1 += (11 - i) * Integer.valueOf(CNPJ_CPF.substring((i - 1), i));

acumulador2 += (12 - i) * Integer.valueOf(CNPJ_CPF.substring((i - 1), i));

}

resto = acumulador1 % 11;

if (resto < 2) {

acumulador2 += 2;

resultado.append(2);

}

else {

acumulador2 += 2 * (11 - resto);

resultado.append((11 - resto));

}

resto = acumulador2 % 11;

if (resto < 2) {

resultado.append(0);

}

else {

resultado.append((11 - resto));

}
return resultado.toString().equals(digitoVerificadorCPF);

}

return false;

}

//validador CPF

//chamando o metodo e testando

JB0.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

conexao BD0 = new conexao();

BD0.conectar();

String SV1, SV2, SV3, SV4, SV5, SV6, SV7, SV8, SV9, SV10, SV11, SV12, SV13, SV14, SV15, SV16, SV17, SV18, SV19, SV20;
SV1 = JT1.getText();

SV2 = JT2.getText();

SV3 = JT3.getText();

SV4 = JT4.getText();

SV5 = JT5.getText();

SV6 = JT6.getText();

SV7 = (String)JCB0.getSelectedItem();

SV8 = JT8.getText();

SV9 = JT9.getText();

SV10 = JT10.getText();

SV11 = JT11.getText();

SV12 = teste.getText();

SV13 = teste2.getText();

SV14 = teste3.getText();

SV15 = (String)JCB1.getSelectedItem();

SV16 = (String)JCB2.getSelectedItem();

SV17 = teste4.getText();

SV18 = teste5.getText();

SV19 = teste6.getText();

SV20 = teste7.getText();
JCB0.getSelectedItem().toString();

JCB1.getSelectedItem().toString();

JCB2.getSelectedItem().toString();

//Verificando_Insercao

boolean insere = pa.novopaciente(SV1, SV2, SV3, SV4, SV5, SV6, SV7, SV8, SV9, SV10, SV11, SV12, SV13, SV14, SV15, SV16, SV17, SV18, SV19, SV20);

boolean cpf=pa.valida_cpf(SV13);

boolean rg=pa.validarrg(SV10);

boolean data1=pa.verificaData(SV12);

boolean data2=pa.verificaData(SV14);
if(!insere){

JOptionPane.showMessageDialog(null,Cadastro não realizado,Mensagem do programa,JOptionPane.ERROR_MESSAGE);

}else if(!cpf){

JOptionPane.showMessageDialog(null,Campo CPF Inválido ou não preenchido,Mensagem do programa,JOptionPane.ERROR_MESSAGE);

}else if(!rg){

JOptionPane.showMessageDialog(null,Campo RG Inválido ou não preenchido,Mensagem do programa,JOptionPane.ERROR_MESSAGE);

}else if(!data1){

JOptionPane.showMessageDialog(null,Data Inválida,Mensagem do programa,JOptionPane.ERROR_MESSAGE);

}else if(!data2){

JOptionPane.showMessageDialog(null,Data Inválida,Mensagem do programa,JOptionPane.ERROR_MESSAGE);

}else{

JOptionPane.showMessageDialog(null,Cadastro Realizado com sucesso.,Mensagem do programa.,JOptionPane.INFORMATION_MESSAGE);

JT1.setText("");

JT2.setText("");

JT3.setText("");

JT4.setText("");

JT5.setText("");

JT6.setText("");

JCB0.setSelectedItem(null);

JT8.setText("");

JT9.setText("");

JT10.setText("");

JT11.setText("");

teste.setText("");

teste2.setText("");

teste3.setText("");

JCB1.setSelectedItem(null);

JCB2.setSelectedItem(null);

teste4.setText("");

teste5.setText("");

teste6.setText("");

teste7.setText("");

}}

}

);[/b][/i]

ai estou com os seguintes problemas:
1º SV2 = JT2.getText(); por ser um numero inteiro ele nao pode utilizar getText - sugestões
2º o encadeamento de ELSE IF q fiz e para testar os validadores onde INSERE-e caso não houver nenhum dado preenchido…CPF-validador de cpf…RG- so para validar se não contem mais de 11 digitos…data - para validar datas,para nao digitar numeros foram d ordem,etc…entao quando chego no campo cpf ele acusa o erro que esta acima na JOptionPane.showMessageDialog mesmo se deixo preenchido ou se deixo sem…e ja mudei o boolean cpf pra true…para false…deixei dentro do else if (!cpf)…deixei sem o “!” tambem e nada… - sugestões
3º nesse acontece que msmo aparecendo a mensagem de erro da JOptionPane.showMessageDialog o cadastro esta sendo guardado no banco…e se der erro nao pode ser guardado no banco…

VLW!

1 Resposta

Marky.Vasconcelos

Por favor, não duplique tópicos, vou trancar esse.

Continue em:
http://guj.com.br/posts/list/223454.java

Criado 3 de novembro de 2010
Ultima resposta 3 de nov. de 2010
Respostas 1
Participantes 2