JAVA – Framework TotalCross:
1º – Chamada ao método e conferência:
// Cpf passado sem os dois últimos dígitos. No método calcDigVerifCpf() os caracteres especiais são removidos. Ex:123.456.789-
String digitoVerificador = calcDigVerifCpf(edtCgcCpf.getText().substring(0, edtCgcCpf.getText().length() - 2));
if(!digitoVerificador.equals(edtCgcCpf.getText().substring(12)))
System.out.println("Dígito verificador do CPF inválido");
2º – Método que calcula o dígito verificador do CPF:
public String calcDigVerifCpf(String cpf) {
cpf = formataRemocaoCaracteresEspeciais(cpf);
int soma = 0, divisao = 11, primDig = 0, segDig = 0;
for (int i = 1; i <= 9; i++)
soma += i * Integer.parseInt(cpf.substring(i-1, i));
primDig = (soma % divisao);
if(primDig == 10)
primDig = 0;
cpf += primDig;
soma = 0;
for (int j = 0; j <= 9; j++)
soma += j * Integer.parseInt(cpf.substring(j, j+1));
segDig = (soma % divisao);
if(segDig == 10)
segDig = 0;
return ""+primDig + segDig;
}
3º – Remoção dos caracteres especiais:
public String formataRemocaoCaracteresEspeciais(String valor){
if (valor.indexOf(",") != -1 || valor.indexOf(".") != -1 || valor.indexOf("-") != -1 || valor.indexOf("/") != -1) {
StringBuffer valorAux = new StringBuffer();
for (int i = 0; i < valor.length(); i++)
if ((valor.charAt(i) != ',') && (valor.charAt(i) != '.') && (valor.charAt(i) != '-') && (valor.charAt(i) != '/'))
valorAux.append(valor.charAt(i));
valor = valorAux.toString();
}
return valor;
}