Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.937 ]
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
Existência de triângulo, em Java
Mensagem usando opção gráfica JOptionPane
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (12)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









