Pessoal… to ficando careca aki procurando um erro que não estou encontrando de forma alguma…
É o seguinte… eu irei ler um monte de cpf’s e cnpj’s válidos e inválidos… vou jogar nessa classe Utilitários que irao ver abaixo para fazer a validação dos mesmo… mas’está ocorrendo um problema… ele mostra somente um valor correto mesmo outros estando corretos… e o resto tudo incorreto… como posso fazer para resolver isso??
Se alguém puder me ajudar…
Obrigado!!
public class Utilitarios {
private static boolean check;
private static int soma = 0;
private static int dig;
private static String numero,validos="",invalidos="";
File Diretorio = new File("C:\invalidos.doc");
File Diretorio2 = new File("C:\validos.doc");
public static boolean verifica(String valor) {
if (valor.length() == 11) {
numero = valor.substring(0,9);
check = validaCPF(valor);
return check;
}
if (valor.length() == 14) {
numero = valor.substring(0,12);
check = validaCNPJ(valor);
return check;
}
return false;
}
//INÍCIO DO MÉTODO DE VERIFICAÇAO DE CPF
public static boolean validaCPF(String valor) {
char[] chr_numero = valor.toCharArray();
int j;
String x = "";
for (int i = 0; i <= 9; i++) {
x = String.valueOf(chr_numero[i]);
Integer I = new Integer(x);
j = I.intValue();
soma += (j*i);
}
x = String.valueOf(chr_numero[10]);
Integer I = new Integer(x);
j = I.intValue();
if (soma%11 == j){
validos += (valor+"
");
check = true;
}
else{
invalidos += (valor+"
");
check = false;
}
if (soma%11 == j) {
try {
FileWriter writer_validos = new FileWriter("C:\validos.doc");
PrintWriter saida_validos = new PrintWriter(writer_validos,true);
saida_validos.println(validos);
saida_validos.close();
writer_validos.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
else {
try {
FileWriter writer_invalidos = new FileWriter("C:\invalidos.doc");
PrintWriter saida_invalidos = new PrintWriter(writer_invalidos,true);
saida_invalidos.println(invalidos);
saida_invalidos.close();
writer_invalidos.close();
}
catch(Exception e) {
System.out.println(e.getMessage());
}
}
return check;
}
//FIM DO MÉTODO DE VERIFICAÇAO DE CPF
//INÍCIO DO MÉTODO PARA VERIFICAÇAO DE CNPJ
public static boolean validaCNPJ(String valor) {
char[] chr_numero = valor.toCharArray();
for (int i = 0; i < 4; i++)
if (chr_numero[i]-48 >= 0 && chr_numero[i]-48 <= 9)
soma += (chr_numero[i] - 48) * (6 - (i + 1));
for (int i = 0; i < 8; i++)
if (chr_numero[i+4]-48 >= 0 && chr_numero[i+4]-48 <= 9)
soma += (chr_numero[i+4] - 48) * (10 - (i + 1));
dig = 11 - (soma % 11);
numero += (dig == 10 || dig == 11) ? "0" : Integer.toString(dig);
soma = 0;
for (int i = 0; i < 5; i++)
if ( chr_numero[i]-48 >=0 && chr_numero[i]-48 <=9 )
soma += (chr_numero[i] - 48) * (7 - (i + 1)) ;
for ( int i = 0; i < 8; i++ )
if ( chr_numero[i+5]-48 >=0 && chr_numero[i+5]-48 <=9 )
soma += (chr_numero[i+5] - 48) * (10 - (i + 1)) ;
dig = 11 - (soma % 11);
numero += ( dig == 10 || dig == 11 ) ? "0" : Integer.toString(dig);
check = valor.equals(numero);
if (valor.equals(numero))
validos += (valor+"
");
else
invalidos += (valor+"
");
if (valor.equals(numero)) {
try {
FileWriter writer_validos = new FileWriter("C:\validos.doc");
PrintWriter saida_validos = new PrintWriter(writer_validos,true);
saida_validos.println(validos);
saida_validos.close();
writer_validos.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
else {
try {
FileWriter writer_invalidos = new FileWriter("C:\invalidos.doc");
PrintWriter saida_invalidos = new PrintWriter(writer_invalidos,true);
saida_invalidos.println(invalidos);
saida_invalidos.close();
writer_invalidos.close();
}
catch(Exception e) {
System.out.println(e.getMessage());
}
}
return check;
// FIM DO MÉTODO DE VERIFICAÇAO DE CNPJ
}
}