CCCPaste

ValidarCPF.java

package prjValidaCPF;

import java.util.Scanner;

public class ValidarCPF {
	public static void main(String[] args) {		
		String cpf = "", verOri = "", ver1 = "", ver2 = ""; //CRIA AS VARIAVEIS CPF E DE VERIFICACAO

		Scanner ler = new Scanner(System.in);
		
		System.out.println("Digite o CPF: ");
		cpf = ler.nextLine(); //LE O CPF
		
		if (cpf.length() > 11 || cpf.length() < 11) { //IF   I M E N S O  PRA VALIDAR O CPF
			System.out.println("CPF Inválido!"); //SE TIVER MENOS OU MAIS QUE 11 CARACTERES JA NAO E CPF (SEM PONTOS E HIFEN)
		} else {
			verOri = cpf.substring(9, 11); //PEGA OS DOIS ULTIMOS DIGITOS DO CPF (VERIFICADOR)
			int multx = 10;
			int n;
			int somatd = 0;

			for (int i = 0; i < 9; i++) { //FOR PRA MULTIPLICAR E SOMAR OS NUMEROS
				n = Integer.parseInt(cpf.substring(i, i + 1));
				somatd = somatd + (multx * n);
				multx--;
			}
			//AQUI E A LOGICA PRA VALIDAR O 1 DIGITO
			int resto = 0;
			resto = somatd % 11;
			int verificar = 0;
			verificar = 11 - resto;

			if (verificar > 9) {
				ver1 = "0";
				verificar = 0;
			} else {
				ver1 = Integer.toString(verificar);
			}
			//LOGICA TERMINA AQUI <-
			multx = 11; //RESETA OS VALORES PRA VERIFICAR O 2 DIGITO VERIFICADOR
			somatd = 0;

			for (int i = 0; i < 9; i++) { //FOR PRA MULTIPLICAR E SOMAR OS NUMEROS
				n = Integer.parseInt(cpf.substring(i, i + 1));
				somatd = somatd + (multx * n);
				multx--;
			}

			verificar *= 2; //MULTIPLICACAO EXTRA DO 1 DIGITO VERIFICADOR PEGO LA EM CIMA
			somatd = somatd + verificar;
			//AQUI E A LOGICA PRA VALIDAR O 2 DIGITO
			resto = 0;
			resto = somatd % 11;
			verificar = 11 - resto;

			if (verificar > 9) {
				ver2 = "0";
			} else {
				ver2 = Integer.toString(verificar);
			}
			//LOGICA TERMINA AQUI <-
			System.out.println(ver1 + ver2); // ESSES SOUTS SAO PRA DEBUG
			System.out.println(verOri);
			//VOILÀ
			if (verOri.equals(ver1 + ver2))
				System.out.println("CPF Válido!");
			else
				System.out.println("CPF Inválido!");
		}
	}
}