Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 8.006 ]
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
Colocando informações em variáveis
Como fazer um automato em Java
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
Calculadoras online gratuitas para o dia a dia do usuário Linux
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Meu kde connect não funciona no debian (1)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 (0)









