Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.850 ]
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
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)









