Classe Java para a validação de CNPJ
Publicado por Samuel E Nascimento 18/09/2006
[ Hits: 12.174 ]
Código Java de uma classe com os métodos de validação de CNPJ de acordo com as regras da Receita Federal.
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" );
}
*/
}
Pesquisa Binaria em um vetor ordenado
Simples applet para determinar invertido do digitado
Planilha de cálculo para multa judicial
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Removendo jogos e bloatware do KDE no Gentoo
Gentoo: Sincronização com Git e Automação via Systemd
Instalação do tema Fluent GTK no Zorin OS
PKI na Prática: Criando CA e Certificado Wildcard (Automatizado)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (1)
Midia de instalação LM-21.3 não inicializa (14)
eu queria saber no lenovo slim, se tem como ver os mhz de memoria e tu... (3)









