Gerador de cpf

5 respostas
L

Galera....não sei se esta certo mas estou fazendo da seguinte forma!!!

eu tento fazer que ele imprima na tela mas nada ele não aparece pq?

//onde carrega
private void btnValidarActionPerformed(java.awt.event.ActionEvent evt) {
    	
      	String cpf = txtValidaCpf2.getText();

		if (!geradorcpf.validaCPF(cpf)) {
	
			JOptionPane.showMessageDialog(null, "Cpf Gerado com Sucesso", "Aviso",
					JOptionPane.INFORMATION_MESSAGE);
		}
	}

//aqui é o metodo que valida e gera o cpf

public class geradorcpf {

	public geradorcpf() {   
	}
	
	
	  public static boolean validaCPF(String cpf) {     
	        if (cpf.length() != 11)     
	            return false; 
	        String numDig = cpf.substring(0, 9);     
	        return calcDigVerif(numDig).equals(cpf.substring(9, 11));     
	    }
	  	
	private static String calcDigVerif(String num) {  
		
        Integer primDig, segDig;     
        int soma = 0, peso = 10;     
        for (int i = 0; i < num.length(); i++)     
                soma += Integer.parseInt(num.substring(i, i + 1)) * peso--;     
     
        if (soma % 11 == 0 | soma % 11 == 1)     
            primDig = new Integer(0);     
        else     
            primDig = new Integer(11 - (soma % 11));     
     
        soma = 0;     
        peso = 11;     
        for (int i = 0; i < num.length(); i++)     
                soma += Integer.parseInt(num.substring(i, i + 1)) * peso--;     
             
        soma += primDig.intValue() * 2;     
        if (soma % 11 == 0 | soma % 11 == 1)     
            segDig = new Integer(0);     
        else     
            segDig = new Integer(11 - (soma % 11));     
     
        return primDig.toString() + segDig.toString();     
    }     
     
    public static String geraCPF() {     
        String iniciais = "";     
        Integer numero;     
        for (int i = 0; i < 9; i++) {     
            numero = new Integer((int) (Math.random() * 10));     
            iniciais += numero.toString();     
        }     
        return iniciais + calcDigVerif(iniciais);     
    }     
     
}

5 Respostas

N

na linha 5 do teu codigo, você está verificando se o CPF não é valido, você está fazendo uma negação ao colocar o ! antes.

O certo seria:

if (geradorcpf.validaCPF(cpf)) {  
  
        JOptionPane.showMessageDialog(null, "Cpf Gerado com Sucesso", "Aviso",  
                JOptionPane.INFORMATION_MESSAGE);  
    }
L

cara não deu certo ele naum esta mostrando nd no campo!!

saca só

E

Amigo, respire fundo, tome uma água, e veja que “gerar” != “validar”. Você não está confundindo as coisas?
Ou você só copiou código sem entender nem para que ele serve?

N

Se você digitar um CPF no campo e clicar em Gerar CPF ele vai rodar e vai dar a mensagem.

O que você não está fazendo é gerar o CPF randomicamente com a função que você tem.

Altere a tua classe Cpf.java acrescentando:

SEU_CAMPO_TEXT.setText(GeraCPF.geraCPF());
L

foi msm tava confundindo as coisas como validação…por isso não ia msm!!!

mas eu entendo sim poh…só confundi qq esta na correria acontece essas burradas bestas…

mas valeu…

vo revisar tudu !!!

abrxx

Criado 3 de dezembro de 2010
Ultima resposta 3 de dez. de 2010
Respostas 5
Participantes 3