O que falta para essa validação de cpf funcionar?

2 respostas
Willdoidao
public boolean validaCpf(String cpf)
    {
        int soma = 0;

        try {
            Long.parseLong(cpf);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,"Somente n�meros s�o permitidos no CPF","ERRO",JOptionPane.ERROR_MESSAGE);
          cpf.requestFocus();
            return false;
        }
        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')) {
                    //JOptionPane.showMessageDialog(null,"CPF V�lido");
                    return true;
                }
            }
        }
        JOptionPane.showMessageDialog(null,"CPF Inv�lido","ERRO",JOptionPane.ERROR_MESSAGE);
        return false;
    }

Só que a linha:
cpf.requestFocus();
Está tendo erro, falta eu importar alguma biblioteca???? digitei algo errado?

2 Respostas

dm_thiago

Eu acho que ao invés de você dar um requestFocus() na String, você deveria dar no campo onde você digita essa String, provavelmente um JTextField.

pintofree

faz assim amigo lah na sua tela onde é digitado o cpf vc teste ele depois q o campo peder o focus ai faz

if (!validaCpf(JTextFieldCPF.gettext())){ JTextFieldCPF.settext(""); JTextFieldCPF.requestFocus(); }

deu pra entender a ideia? zera o campo e chama o requestFocus(); depois

testa ai to sem editor java aki pra testar digitei na mao mais a coisa e por ai

Criado 31 de março de 2008
Ultima resposta 31 de mar. de 2008
Respostas 2
Participantes 3