Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.742 ]
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
Mensagem usando opção gráfica JOptionPane
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Aplicativo simples para gravar tela
Quebra de linha na data e hora no Linux Mint
Manjaro 25.0 no permite usar crontab (1)
Como fazer boot em img do debian 12.img da web? (1)
trocar linhas [RESOLVIDO] (11)