Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.625 ]
Homepage: http://jeffersoncampos.eti.br
Esta classe recebe um cpf e seus respectivos dígitos verificadores. É capaz de validar esse cpf e retornar os dígitos verificadores corretos.
package funcionario; /** * * @author Jefferson Luiz Oliveira de Campos * data: 9/10/2008. * Este programa é licenciado via GPLv2. Sinta-se a vontade para exercer as 4 * liberdades... ;) <--> só não esquça de citar o autor.... ^^'' * * Esta Classe recebe um cpf e seus respectivos digitos verificadores. Ela é * capaz de validar esse cpf e retornar os digitos verificadores corretos. * */ public class cpf { private String nome; private String cpf; private int dig1; private int dig2; public cpf (String n, String c, int d1, int d2) { this.nome = n; this.cpf = c; this.dig1 = d1; this.dig2 = d2; }//FIM CPF public Boolean calcDigVerificador () { if (this.cpfValido ()){ if (this.calcDig1 () == this.dig1) { //System.out.println ("Dig1 OK!"); if (this.calcDig2 () == this.dig2) { //System.out.println ("Dig2 OK!"); return true; } else { System.out.println ("Dig2 Deu merda!"); return false; }//FIM SENAO } else { System.out.println ("Dig1 Deu merda!"); return false; }//FIM SENAO } else { System.out.println ("CPF FORMATO INVALIDO!"); return false; }//FIM SENAO }//FIM calcDigVerificador //Verifica a validade do cpf, indicando como inválido cpf's que possuem //todos os digitos repetidos. Ex.: 111.111.111-11 é inválido. public Boolean cpfValido () { int i; String digInicial = this.cpf.substring(0,1); Boolean valido = false; for (i = 1; i < 9; i++){ if (!digInicial.equals(this.cpf.substring(i,i + 1))) { valido = true; }//FIM SE }//FIM PARA return valido; }//FIM cpfValido public int calcDig1 () { int i, resto, dig, soma = 0; for (i = 0; i < 9; i++) { soma += ((Integer.parseInt(this.cpf.substring(i,i + 1))) * (i + 1)); }//FIM PARA resto = soma % 11; if (resto == 10) { dig = 0; } else { dig = resto; }//FIM SENAO return dig; }//FIM calcDig1 public int calcDig2 () { int i, resto, dig, soma = 0; for (i = 0; i < 9; i++) { soma += ((Integer.parseInt(this.cpf.substring(i,i + 1))) * (12 - (i + 1))); }//FIM PARA soma += this.calcDig1 () * 2; soma *= 10; resto = soma % 11; if (resto == 10) { dig = 0; } else { dig = resto; }//FIM SENAO return dig; }// FIM calcDig2 public String getCpf () { return cpf; } public void setCpf (String cpf) { this.cpf = cpf; } public int getDig1 () { return dig1; } public void setDig1 (int dig1) { this.dig1 = dig1; } public int getDig2 () { return dig2; } public void setDig2 (int dig2) { this.dig2 = dig2; } public String getNome () { return nome; } public void setNome (String nome) { this.nome = nome; } }//FIM cpf
primeiros exemplos usando metodos
Mensagem usando opção gráfica JOptionPane
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)