Classe Java para a validação de CNPJ

Publicado por Samuel E Nascimento 18/09/2006

[ Hits: 12.044 ]

Download Cnpj.java




Código Java de uma classe com os métodos de validação de CNPJ de acordo com as regras da Receita Federal.

  



Esconder código-fonte

public class Cnpj {

    // 02998301000181
    static public boolean CNPJ( String str_cnpj )
    {
       int soma = 0, aux, dig;
       String cnpj_calc = str_cnpj.substring(0,12);

       if ( str_cnpj.length() != 14 )
         return false;

       char[] chr_cnpj = str_cnpj.toCharArray();

       /* Primeira parte */
       for( int i = 0; i < 4; i++ )
         if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 )
           soma += (chr_cnpj[i] - 48) * (6 - (i + 1)) ;
       for( int i = 0; i < 8; i++ )
         if ( chr_cnpj[i+4]-48 >=0 && chr_cnpj[i+4]-48 <=9 )
           soma += (chr_cnpj[i+4] - 48) * (10 - (i + 1)) ;
       dig = 11 - (soma % 11);

       cnpj_calc += ( dig == 10 || dig == 11 ) ?
                      "0" : Integer.toString(dig);

       /* Segunda parte */
       soma = 0;
       for ( int i = 0; i < 5; i++ )
         if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 )
           soma += (chr_cnpj[i] - 48) * (7 - (i + 1)) ;
       for ( int i = 0; i < 8; i++ )
         if ( chr_cnpj[i+5]-48 >=0 && chr_cnpj[i+5]-48 <=9 )
           soma += (chr_cnpj[i+5] - 48) * (10 - (i + 1)) ;
       dig = 11 - (soma % 11);
       cnpj_calc += ( dig == 10 || dig == 11 ) ?
                      "0" : Integer.toString(dig);

       return str_cnpj.equals(cnpj_calc);
    }

    /*   Use este trecho para testar a classe
    public static void main(String[] args) {
        Validacao v = new Validacao();
        System.out.println( CNPJ("02998301000181") ?
                            "OK" : "Incorreto" );
    }
    */
}

Scripts recomendados

Imagem de Background atravez de um JDesktopPane

Lista Encadeada em Java

Código Java para validar CPF

Pesquisa Ternária em um vetor ordenado

Cálculo de número de anos baseado em data


  

Comentários
[1] Comentário enviado por edimilson.gomes em 18/09/2006 - 13:41h

Xique... funcionou aki... valew.... abracos


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts