Validador de CPF em Java

4 respostas
chocobola

Bom dia, espero que vocês não passem mal de ver meu código... =)

Estamos iniciando em Java, e já na primeira aula o professor passou um desafio, porém eu não tenho idéia de como fazer, é para fazer um validador de CPF, eu tentei, será qeu alguem pode me dizer qual caminho tomar??

import java.util.Scanner;

public class GeraCPF {
	public static void main(String args[]) {
		
		int numerocpf[] = new int[9];
		int cpfdividido[] = new int[9];
		int somacpf = 0;
		int somacpf2 = 0;
		int verificador1 = 0;
		int verificador2 = 0;
		int digitodez = 0;
		int digitoonze = 0;
		
		Scanner dados = new Scanner(System.in);
		
		System.out.println("Digite o numero do CPF");
		
		for (int i=0; i < 10; i++) {
			numerocpf[i] = dados.nextInt();
			for (int j=9; j >= 2; j--) {
				cpfdividido[i] = numerocpf[i] * j;
			}
		}

		verificador1 = dados.nextInt();
		verificador2 = dados.nextInt();
		
		somacpf = cpfdividido[0]+cpfdividido[1]+cpfdividido[2]+cpfdividido[3]+cpfdividido[4]+cpfdividido[5]+cpfdividido[6]+cpfdividido[7]+cpfdividido[8];

		digitodez = 11 - (somacpf % 11);
		
		if (digitodez == 10 || digitodez == 11) {
				digitodez = 0;
			}
		
		somacpf2 = cpfdividido[0]+cpfdividido[1]+cpfdividido[2]+cpfdividido[3]+cpfdividido[4]+cpfdividido[5]+cpfdividido[6]+cpfdividido[7]+cpfdividido[8]+somacpf;

		digitoonze = 11 - (somacpf2 % 11);
		
		if (digitoonze == 10 || digitoonze == 11) {
			digitoonze = 0;
		}		
		
		
		if (digitodez==verificador1 && digitoonze==verificador2) {
			System.out.println("O CPF:" + numerocpf[0]+numerocpf[1]+numerocpf[2]+numerocpf[3]+numerocpf[4]+numerocpf[5]+numerocpf[6]+numerocpf[7]+numerocpf[8]+digitodez+digitoonze + " é valido.");
		}
		else { 
			System.out.println("O CPF:" + numerocpf[0]+numerocpf[1]+numerocpf[2]+numerocpf[3]+numerocpf[4]+numerocpf[5]+numerocpf[6]+numerocpf[7]+numerocpf[8]+digitodez+digitoonze + " é invalido.");
		}
	}
}

Agradeço desde já a atenção,

abraços.

4 Respostas

chocobola

Nossa, agora que vi, tem vários problemas ai…

Vou dar uma pesquisada como posso melhorar isso…

:oops: :oops:

worldsoft

chocobola:
Nossa, agora que vi, tem vários problemas ai…

Vou dar uma pesquisada como posso melhorar isso…

:oops: :oops:

Olá, você já ouviu falar no Caelum Stella? Dá uma olhada nele, você poderia diminuir e muito esse seu código.

chocobola

Não, na realidade nem ta funcionando assim, ta com alguns problemas de lógica, vou dar uma melhorada e depois posto o resultado!

Valeu

worldsoft

chocobola:
Não, na realidade nem ta funcionando assim, ta com alguns problemas de lógica, vou dar uma melhorada e depois posto o resultado!

Valeu

Me desculpa não havia lido por inteiro o seu primeiro post, agora vi que é um desafio do professor, bom não conheço muito essa validação de CPF, mais qualquer coisa depois de mexer no código posta ai sua pergunta.

Criado 6 de agosto de 2012
Ultima resposta 6 de ago. de 2012
Respostas 4
Participantes 2