Classe CPF
Publicado por Jeffeson Luiz Oliveira de Campos 14/10/2008
[ Hits: 7.487 ]
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
Calcular horas faltas de um funcionário
Começando a trabalhar com arrays
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Grub Customizer no Ubuntu 24.04
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Microfone muito ruim somente no Linux (1)
operador seta em c [RESOLVIDO] (1)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (36)