validar cnpj java

Solutions on MaxInterview for validar cnpj java by the best coders in the world

showing results for - "validar cnpj java"
Wolfgang
08 Nov 2020
1package meuPacote;
2
3import java.util.InputMismatchException;
4
5public class ValidaCNPJ {
6
7  public static boolean isCNPJ(String CNPJ) {
8// considera-se erro CNPJ's formados por uma sequencia de numeros iguais
9    if (CNPJ.equals("00000000000000") || CNPJ.equals("11111111111111") ||
10        CNPJ.equals("22222222222222") || CNPJ.equals("33333333333333") ||
11        CNPJ.equals("44444444444444") || CNPJ.equals("55555555555555") ||
12        CNPJ.equals("66666666666666") || CNPJ.equals("77777777777777") ||
13        CNPJ.equals("88888888888888") || CNPJ.equals("99999999999999") ||
14       (CNPJ.length() != 14))
15       return(false);
16
17    char dig13, dig14;
18    int sm, i, r, num, peso;
19
20// "try" - protege o código para eventuais erros de conversao de tipo (int)
21    try {
22// Calculo do 1o. Digito Verificador
23      sm = 0;
24      peso = 2;
25      for (i=11; i>=0; i--) {
26// converte o i-ésimo caractere do CNPJ em um número:
27// por exemplo, transforma o caractere '0' no inteiro 0
28// (48 eh a posição de '0' na tabela ASCII)
29        num = (int)(CNPJ.charAt(i) - 48);
30        sm = sm + (num * peso);
31        peso = peso + 1;
32        if (peso == 10)
33           peso = 2;
34      }
35
36      r = sm % 11;
37      if ((r == 0) || (r == 1))
38         dig13 = '0';
39      else dig13 = (char)((11-r) + 48);
40
41// Calculo do 2o. Digito Verificador
42      sm = 0;
43      peso = 2;
44      for (i=12; i>=0; i--) {
45        num = (int)(CNPJ.charAt(i)- 48);
46        sm = sm + (num * peso);
47        peso = peso + 1;
48        if (peso == 10)
49           peso = 2;
50      }
51
52      r = sm % 11;
53      if ((r == 0) || (r == 1))
54         dig14 = '0';
55      else dig14 = (char)((11-r) + 48);
56
57// Verifica se os dígitos calculados conferem com os dígitos informados.
58      if ((dig13 == CNPJ.charAt(12)) && (dig14 == CNPJ.charAt(13)))
59         return(true);
60      else return(false);
61    } catch (InputMismatchException erro) {
62        return(false);
63    }
64  }
65
66  public static String imprimeCNPJ(String CNPJ) {
67// máscara do CNPJ: 99.999.999.9999-99
68    return(CNPJ.substring(0, 2) + "." + CNPJ.substring(2, 5) + "." +
69      CNPJ.substring(5, 8) + "." + CNPJ.substring(8, 12) + "-" +
70      CNPJ.substring(12, 14));
71  }
72}