Bem galera, estou fazendo um programa para validação de um CPF, usando interface gráfica e também o maskformatter!
Para formatar o campo de inserção do JFText usei o seguinte código
# try{
#
# javax.swing.text.MaskFormatter format_jFCPF= new javax.swing.text.MaskFormatter("###.###.###-##");
#
# jFCPF = new javax.swing.JFormattedTextField(format_jFCPF);
#
# }catch (Exception e){}
Esse código funcionou perfeitamente! porém ele recebe esses dados! e agora eu teria que usar a fórmula matemática de validação de CPF e estou tento probléma nisso!!!
Como eu sei que meu jFCPF vai pegar aquilo que foi digitado nele e levar para o meu "cpf", os caracteres como "." e "-" também vão ser transferidos....então pensei nessa solução para transferir apenas os numeros digitados
public void verificaDado(){
CPF cpf1 = new CPF();
cpf1.setCPF(jFCPF.getText());
int cases[] = new int [11]; //os 11 numeros que formam o cpf//
int dig1, dig2;
int x;
for(x = 0;x>=3;x++){
cases[x] = Integer.parseInt(cpf1.getCPF().substring(x,x+1)); //transferem os 3 primeiros numeros do cpf antes do "." para o vetor//
}
for(x = 4;x>=7;x++){
cases[x] = Integer.parseInt(cpf1.getCPF().substring(x,x+1)); //transferem os 3 primeiros numeros do cpf antes do segundo "." para o vetor//
}
for(x = 8;x>=11;x++){
cases[x] = Integer.parseInt(cpf1.getCPF().substring(x,x+1)); //transferem os 3 primeiros numeros do cpf antes do "-" para o vetor//
}
int y = 10, somacpf = 0;
for(x=0;x<9;x++){
somacpf = somacpf*(cases[x]*y) //fazer a somatoria dos 9 primeiros digitos do cpf//
y--;
}
}