Qual o erro no código abaixo?
package validacpf;
public class ValidaCPF {
public static boolean isCPF(String CPF) {
//Todos os CPF's tem 11 digitos, se tiver um numero diferente considera erro
if (CPF.length() != 11) {
return false;
}
// Se os numeros forem repetidos considera-se erro
if (CPF.equals("[telefone removido]") || CPF.equals("[telefone removido]")
|| CPF.equals("[telefone removido]") || CPF.equals("[telefone removido]")
|| CPF.equals("[telefone removido]") || CPF.equals("[telefone removido]")
|| CPF.equals("[telefone removido]") || CPF.equals("[telefone removido]")
|| CPF.equals("[telefone removido]") || CPF.equals("[telefone removido]")) {
return false;
}
char dig10, dig11;
int soma, i, r, num, peso;
//"try"-protege o codigo para eventuais erros de conversao de tipo (int)
try {
// Calculo do 1o. Digito Verificador
soma = 0;
peso = 10;
for (i = 0; i < 9; i++) {
// converte o i-esimo caractere do CPF em um numero:
// por exemplo, transforma o caractere '0' no inteiro 0
num = (int) (CPF.charAt(i));
soma = soma + (num * peso);
peso = peso - 1;
}
// Pega o resto da divisão por 11
r = (soma % 11);
if ((r == 0) || (r == 1)) {
dig10 = '0';
} else {
r = 11 - r;
dig10 = (char) (r); //converte no respectivo caractere numerico
}
// Calculo do 2o. Digito Verificador
soma = 0;
peso = 11;
for (i = 0; i < 10; i++) {
num = (int) (CPF.charAt(i));
soma = soma + (num * peso);
peso = peso - 1;
}
r = (soma % 11);
if ((r == 1) || (r == 1)) {
dig11 = '0';
} else {
r = 11 - r;
dig11 = (char) (r);
}
// Verifica se os digitos calculados conferem com os digitos informados.
return (dig10 == CPF.charAt(10)) && (dig11 == CPF.charAt(11));
} catch (Exception erro) {
return false;
}
}
public static String imprimeCPF(String CPF) {
String cpf = CPF.substring(0, 3) + "." + CPF.substring(3, 6) + "."
+ CPF.substring(6, 9) + "-" + CPF.substring(9, 11);
return cpf;
}
}