digitosRepetidos

2 respostas
E

olá pessoal!!
tenho essa parte de uma classe q impede que eu repita o cpf quando cadastrar.

public boolean digitosRepetidos(String digitos)
    {
        int cont=0;
        char a,b;
        
        //percorre cada caracter e compara com o próximo
        for(int i=0;i<digitos.length()-1;i++){
            a = digitos.charAt(i);
            b = digitos.charAt(i+1);
            if(a==b){
               cont++; //incrementa cont caso o carácter atual seja igual ao próximo
            }
        }
        
        //se o número de dígitos iguais for igual ao tamanho da string retorna true, caso contrário false
        if(cont==(digitos.length()-1)){
            return true;
        }else{
            return false;
        }
    }

coloquei essa linha apos validar o cpf, mas ele impede q eu cadastre.
mais em baixo tem a classe q quero validar.
o q falta para q cadastre sem problema???

(validadorCPF.digitosRepetidos(fields.cpf.getText())) &&
try {    
            Statement statement = connection.createStatement();    
      
            valCPF validadorCPF = new valCPF();
                 
                   
                   
                  if (validadorCPF.validaCPF(fields.cpf.getText()) && 

         (validadorCPF.digitosRepetidos(fields.cpf.getText())) &&
           
              !fields.cpf.getText().equals( "" ) &&    
               !fields.primeironome.getText().equals( "" )  ){  
                   
     
        
            String query = "INSERT INTO addresses (" +
               "cpf,primeironome, ultimonome, endereco, cidade, " +
               "estado, cep, pais, " +
               "email, telcasa, telcelular" +
               ") VALUES ('" +
               fields.cpf.getText() + "', '" + 
               fields.primeironome.getText() + "', '" + 
               fields.ultimonome.getText() + "', '" + 
               fields.endereco.getText() + "', '" + 
               fields.cidade.getText() + "', '" + 
               fields.estado.getText() + "', '" + 
               fields.cep.getText() + "', '" + 
               fields.estado.getText() + "', '" + 
               fields.email.getText() + "', '" + 
               fields.telcasa.getText() + "', '" + 
               fields.telcelular.getText() + "')";

            int result = statement.executeUpdate( query );

desde já agradeço.

2 Respostas

R

Acho que o problema ta no seu if, seguinte se os números forem todos iguais sua função vai retornar true, e neste local

(validadorCPF.digitosRepetidos(fields.cpf.getText())) &&

vc coloca que precisar ser true para passar, ou seja só vai passar quando o número tiver todos os dígitos iguais, nega essa afirmação que acho q vai funcionar!

E

Valeu Blz, obrigado.

Criado 4 de abril de 2008
Ultima resposta 21 de abr. de 2008
Respostas 2
Participantes 2