Vou mandar dois fontes para que veja se pode lhe ajudar, s�o pequenos e est�o interagindo com uma interface GUI. Os dois m�todos s�o trabalhados com entrada de string como par�metro para a valida��o dos d�gitos.
 
Primeiro o CPF
 
 
public String calcular(){
    String cpf;
    int soma = 0;
    int result1, result2;
    // aqui ser� inclu�do o c�digo do c�lculo do CPF
    cpf = myExp;
    if(cpf.length() != 11) {
      //System.out.println(myExp + " precisa ter 11 d�gitos");
      return imprimirFeedback(false);
    }
    else {
      if(cpf == "00000000000") {
        //System.out.println(myExp + " n�o pode ter todos os d�gitos iguais a zero");
        return imprimirFeedback(false);
      }
      else {
        int j = 10;
        for (int i = 0; i <= 8; i++) {
          soma = soma + Integer.parseInt(cpf.charAt(i) + "") * j;
          j--;
        }
        //soma = soma - (11 * (soma - (soma%11) / 11));
        soma = soma - (11 * (soma / 11));
        if(soma == 0 || soma == 1){
          result1 = 0;
        }
        else {
          result1 = 11 - soma;
        }
        if(result1 == Integer.parseInt(cpf.charAt(9) + "")) {
          j = 11;
          soma = 0;
          for(int i = 0; i<=9; i++) {
            soma = soma + Integer.parseInt(cpf.charAt(i) + "") * j;
            j--;
          }
          //soma = soma - (11 * (soma - (soma%11) / 11));
          soma = soma - (11 * (soma / 11));
          if(soma == 0 || soma == 1) {
            result2 = 0;
          }
          else {
            result2 = 11 - soma;
          }
          if(result2 == Integer.parseInt(cpf.charAt(10) + "")){
            return imprimirFeedback(true);
          }
          else {
            return imprimirFeedback(false);
          }
        }  // fim do if(resltado1 == ...)
        else {
          return imprimirFeedback(false);
        }
      }    // fim do else { int j=10; ...
    }      // fim do else { if(cpf == "000...
  }        // fim do m�todo public void verficaCPF(){
 
 
 
Agora do CNPJ
 
 
import java.util.Locale;
import java.text.DecimalFormat;
 
public String calcular(){
    String cnpj;
    int soma = 0;
    int result1, result2;
    // aqui ser� inclu�do o c�digo do c�lculo do CNPJ
    cnpj = myExp;
    if(cnpj.length() > 14) {
      return imprimirFeedback(false);
    }
    DecimalFormat f = new DecimalFormat();
    f.applyPattern("00000000000000;(00000000000000)");
    cnpj = f.format(Integer.parseInt(cnpj));
    if(cnpj.length() != 14) {
      //System.out.println(myExp + " Obrigat�rio CNPJ com 14 d�gitos");
      return imprimirFeedback(false);
    }
    else {
      if(cnpj == "00000000000000" ) {
        //System.out.println(myExp + " n�o pode ter todos os d�gitos iguais a zero");
        return imprimirFeedback(false);
      }
      else {
        int j = 5;
        for (int i = 0; i <= 3; i++) {
          soma = soma + Integer.parseInt(cnpj.charAt(i) + "") * j;
          j--;
        }
        j = 9;
        for (int i = 4; i <= 11; i++) {
          soma = soma + Integer.parseInt(cnpj.charAt(i) + "") * j;
          j--;
        }
        soma = soma - (11 * (soma / 11));
        if(soma == 0 || soma == 1){
          result1 = 0;
        }
        else {
          result1 = 11 - soma;
        }
        if(result1 == Integer.parseInt(cnpj.charAt(12) + "")) {
          j = 6;
          soma = 0;
          for(int i = 0; i<=4; i++) {
            soma = soma + Integer.parseInt(cnpj.charAt(i) + "") * j;
            j--;
          }
          j = 9;
          int soma_aux = 0;
          for(int i = 5; i<=12; i++) {
            soma_aux = soma_aux + Integer.parseInt(cnpj.charAt(i) + "") * j;
            j--;
          }
          soma += soma_aux;
          soma = soma - (11 * (soma / 11));
          if(soma == 0 || soma == 1) {
           result2 = 0;
          }
          else {
           result2 = 11 - soma;
          }
          if(result2 == Integer.parseInt(cnpj.charAt(13) + "")){
            return imprimirFeedback(true);
          }
          else {
            return imprimirFeedback(false);
          }
        }
        else {
          return imprimirFeedback(false);
        }
      }
    }
  }
 
 
 
 
 
----- Original Message -----
Sent: Saturday, November 09, 2002 8:31 PM
Subject: [java-list] Validar CNPJ e CPF

Pessoal,
 
Algu�m por acaso n�o teria uma classe com m�todos para validar CNPJ e CPF ???
 
ps.: encontrei apenas exemplos em Javascript e transforma-los para JAVA ser� minha ultima op��o.
 
Atenciosamente,
 
Hildebrando Furlan Neto
JAVA � J�IA
         ^
\--- /-O-\---/
     (_.--._)
 

Responder a