Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.781 ]
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
Funções matemáticas no plano cartesiano
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Dica para encontrar diversos jogos Indies criativos
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Software livre - será que eu estou tão errado assim? (14)
Boot do PosRog so funciona em notebook (1)