Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.923 ]
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
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









