Advertisement
Pedr026

ValidarCPF.java

May 31st, 2019
593
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.02 KB | None | 0 0
  1. package prjValidaCPF;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class ValidarCPF {
  6.     public static void main(String[] args) {       
  7.         String cpf = "", verOri = "", ver1 = "", ver2 = ""; //CRIA AS VARIAVEIS CPF E DE VERIFICACAO
  8.  
  9.         Scanner ler = new Scanner(System.in);
  10.        
  11.         System.out.println("Digite o CPF: ");
  12.         cpf = ler.nextLine(); //LE O CPF
  13.        
  14.         if (cpf.length() > 11 || cpf.length() < 11) { //IF   I M E N S O  PRA VALIDAR O CPF
  15.             System.out.println("CPF Inválido!"); //SE TIVER MENOS OU MAIS QUE 11 CARACTERES JA NAO E CPF (SEM PONTOS E HIFEN)
  16.         } else {
  17.             verOri = cpf.substring(9, 11); //PEGA OS DOIS ULTIMOS DIGITOS DO CPF (VERIFICADOR)
  18.             int multx = 10;
  19.             int n;
  20.             int somatd = 0;
  21.  
  22.             for (int i = 0; i < 9; i++) { //FOR PRA MULTIPLICAR E SOMAR OS NUMEROS
  23.                 n = Integer.parseInt(cpf.substring(i, i + 1));
  24.                 somatd = somatd + (multx * n);
  25.                 multx--;
  26.             }
  27.             //AQUI E A LOGICA PRA VALIDAR O 1 DIGITO
  28.             int resto = 0;
  29.             resto = somatd % 11;
  30.             int verificar = 0;
  31.             verificar = 11 - resto;
  32.  
  33.             if (verificar > 9) {
  34.                 ver1 = "0";
  35.                 verificar = 0;
  36.             } else {
  37.                 ver1 = Integer.toString(verificar);
  38.             }
  39.             //LOGICA TERMINA AQUI <-
  40.             multx = 11; //RESETA OS VALORES PRA VERIFICAR O 2 DIGITO VERIFICADOR
  41.             somatd = 0;
  42.  
  43.             for (int i = 0; i < 9; i++) { //FOR PRA MULTIPLICAR E SOMAR OS NUMEROS
  44.                 n = Integer.parseInt(cpf.substring(i, i + 1));
  45.                 somatd = somatd + (multx * n);
  46.                 multx--;
  47.             }
  48.  
  49.             verificar *= 2; //MULTIPLICACAO EXTRA DO 1 DIGITO VERIFICADOR PEGO LA EM CIMA
  50.             somatd = somatd + verificar;
  51.             //AQUI E A LOGICA PRA VALIDAR O 2 DIGITO
  52.             resto = 0;
  53.             resto = somatd % 11;
  54.             verificar = 11 - resto;
  55.  
  56.             if (verificar > 9) {
  57.                 ver2 = "0";
  58.             } else {
  59.                 ver2 = Integer.toString(verificar);
  60.             }
  61.             //LOGICA TERMINA AQUI <-
  62.             System.out.println(ver1 + ver2); // ESSES SOUTS SAO PRA DEBUG
  63.             System.out.println(verOri);
  64.             //VOILÀ
  65.             if (verOri.equals(ver1 + ver2))
  66.                 System.out.println("CPF Válido!");
  67.             else
  68.                 System.out.println("CPF Inválido!");
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement