[b][size=18]Programa Verificador de CPF Válido e Gerador de CPF Válido…
O que pode ser Melhorado ?
Avaliem…ai…valeu… [/size][/b]
package classes;
import javax.swing.JOptionPane;
public class Verificar_CPF
{
private String cpf;
public String getCpf()
{
return cpf;
}
public void setCpf(String cpf)
{
this.cpf = cpf;
}
public void Verificando()
{
int dig1, dig2, erro;
char[] cPF = getCpf().toCharArray();
dig1 = dig2 = erro = 0;
int a1 = Integer.parseInt(String.valueOf(cPF[0]));
int a2 = Integer.parseInt(String.valueOf(cPF[1]));
int a3 = Integer.parseInt(String.valueOf(cPF[2]));
int a4 = Integer.parseInt(String.valueOf(cPF[4]));
int a5 = Integer.parseInt(String.valueOf(cPF[5]));
int a6 = Integer.parseInt(String.valueOf(cPF[6]));
int a7 = Integer.parseInt(String.valueOf(cPF[8]));
int a8 = Integer.parseInt(String.valueOf(cPF[9]));
int a9 = Integer.parseInt(String.valueOf(cPF[10]));
int soma = ((a1 * 10) + (a2 * 9) + (a3 * 8) + (a4 * 7)
+ (a5 * 6) + (a6 * 5) + (a7 * 4) + (a8 * 3)
+ (a9 * 2));
int resto = (soma % 11);
if(resto < 2)
{
dig1 = 0;
} else
{
dig1 = 11 - resto;
}
soma = ((a1 * 11) + (a2 * 10) + (a3 * 9) + (a4 * 8)
+ (a5 * 7) + (a6 * 6) + (a7 * 5) + (a8 * 4)
+ (a9 * 3) + (dig1 * 2));
resto = (soma % 11);
if(resto < 2)
{
dig2 = 0;
} else
{
dig2 = 11 - resto;
}
int a = Integer.parseInt(String.valueOf(cPF[12]));
int b = Integer.parseInt(String.valueOf(cPF[13]));
if(dig1 == a && dig2 == b)
{
if(cPF[0] == '1' && cPF[1] == '1' && cPF[2] == '1' &&
cPF[4] == '1' && cPF[5] == '1' && cPF[6] == '1' &&
cPF[8] == '1' && cPF[9] == '1' && cPF[10] == '1')
{
erro++;
}
if(cPF[0] == '2' && cPF[1] == '2' && cPF[2] == '2' &&
cPF[4] == '2' && cPF[5] == '2' && cPF[6] == '2' &&
cPF[8] == '2' && cPF[9] == '2' && cPF[10] == '2')
{
erro++;
}
if(cPF[0] == '3' && cPF[1] == '3' && cPF[2] == '3' &&
cPF[4] == '3' && cPF[5] == '3' && cPF[6] == '3' &&
cPF[8] == '3' && cPF[9] == '3' && cPF[10] == '3')
{
erro++;
}
if(cPF[0] == '4' && cPF[1] == '4' && cPF[2] == '4' &&
cPF[4] == '4' && cPF[5] == '4' && cPF[6] == '4' &&
cPF[8] == '4' && cPF[9] == '4' && cPF[10] == '4')
{
erro++;
}
if(cPF[0] == '5' && cPF[1] == '5' && cPF[2] == '5' &&
cPF[4] == '5' && cPF[5] == '5' && cPF[6] == '5' &&
cPF[8] == '5' && cPF[9] == '5' && cPF[10] == '5')
{
erro++;
}
if(cPF[0] == '6' && cPF[1] == '6' && cPF[2] == '6' &&
cPF[4] == '6' && cPF[5] == '6' && cPF[6] == '6' &&
cPF[8] == '6' && cPF[9] == '6' && cPF[10] == '6')
{
erro++;
}
if(cPF[0] == '7' && cPF[1] == '7' && cPF[2] == '7' &&
cPF[4] == '7' && cPF[5] == '7' && cPF[6] == '7' &&
cPF[8] == '7' && cPF[9] == '7' && cPF[10] == '7')
{
erro++;
}
if(cPF[0] == '8' && cPF[1] == '8' && cPF[2] == '8' &&
cPF[4] == '8' && cPF[5] == '8' && cPF[6] == '8' &&
cPF[8] == '8' && cPF[9] == '8' && cPF[10] == '8')
{
erro++;
}
if(cPF[0] == '9' && cPF[1] == '9' && cPF[2] == '9' &&
cPF[4] == '9' && cPF[5] == '9' && cPF[6] == '9' &&
cPF[8] == '9' && cPF[9] == '9' && cPF[10] == '9')
{
erro++;
}
if(cPF[0] == '0' && cPF[1] == '0' && cPF[2] == '0' &&
cPF[4] == '0' && cPF[5] == '0' && cPF[6] == '0' &&
cPF[8] == '0' && cPF[9] == '0' && cPF[10] == '0')
{
erro++;
}
if(erro == 0)
{
JOptionPane.showMessageDialog(null, "CPF Válido: " + getCpf() ,
"Informando", JOptionPane.INFORMATION_MESSAGE);
} else
{
JOptionPane.showMessageDialog(null, "CPF Inválido: " + getCpf() ,
"Informando", JOptionPane.ERROR_MESSAGE);
}
} else
{
JOptionPane.showMessageDialog(null, "CPF Inválido: " + getCpf() , "Informando",
JOptionPane.ERROR_MESSAGE);
}
}
}
package classes;
import java.util.*;
import javax.swing.JOptionPane;
public class Gerar_CPF
{
public String Gerador()
{
Random r = new Random();
int[] numero = new int[11];
int soma1, soma2, erro;
int part1, part2, part3, dig1;
int part5, part6, part7, dig2;
StringBuilder num = new StringBuilder();
String numCompleto;
erro = 0;
for(int i = 1; i <= 9; i++)
{
erro = 1;
do
{
if(erro > 1)
{
JOptionPane.showMessageDialog(null, "Erro" ,
"Informando", JOptionPane.INFORMATION_MESSAGE);
erro = 1;
}
numero[i] = r.nextInt(10);
erro++;
}while(numero[i] > 9 || numero[i] < 0);
}
soma1 = ((numero[1] * 10) + (numero[2] * 9) +(numero[3] * 8) +
(numero[4] * 7) + (numero[5] * 6) + (numero[6] * 5) +
(numero[7] * 4) + (numero[8] * 3) + (numero[9] * 2));
part1 = (int)(soma1 / 11);
part2 = (part1 * 11);
part3 = (soma1 - part2);
dig1 = (11 - part3);
if(dig1 > 9)
dig1 = 0;
soma2 = ((numero[1] * 11) + (numero[2] * 10) +(numero[3] * 9) +
(numero[4] * 8) + (numero[5] * 7) + (numero[6] * 6) +
(numero[7] * 5) + (numero[8] * 4) + (numero[9] * 3)) + (dig1 * 2);
part5 = (int)(soma2 / 11);
part6 = (part5 * 11);
part7 = (soma2 - part6);
dig2 = (11 - part7);
if(dig2 > 9)
dig2 = 0;
for(int i = 1; i <= 9; i++)
{
num.append(numero[i]);
if(i - 1 == 2)
num.append(".");
if(i - 1 == 5)
num.append(".");
}
num.append("-");
num.append(dig1);
num.append(dig2);
numCompleto = num.toString();
return numCompleto;
}
}
[size=18]Tá ai… os dois Algoritmos classe Verificar_CPF e a classe Gerar_CPF [/size]