@Cassianofschweitzer escreveu:
Coloco CNPJ e CPF validos e ele diz como invalidos, não sei o que está errado, se puderem me ajudar.
CNPJ
String cnpj; int res = 0, mul = 2, cal; char ver1, ver2; System.out.print("Informe o CNPJ: "); cnpj = teclado.next(); for (int i = 11; i >= 0; i--) { res += (((int) cnpj.charAt(i) - 48) * mul); mul++; if (mul == 10) { mul = 2; } } cal = res % 11; if (cal == 0 || cal == 1) { ver1 = '0'; } else { ver1 = (char) ((11 - cal) + 48); } for (int i = 12; i >= 0; i--) { res += (((int) cnpj.charAt(i) - 48) * mul); mul++; if (mul == 10) { mul = 2; } } cal = res % 11; if (cal == 0 || cal == 1) { ver2 = '0'; } else { ver2 = (char) ((11 - cal) + 48); } if (cnpj.charAt(12) == ver1 && cnpj.charAt(13) == ver2) { System.out.println("Resultado: " + cnpj.substring(0, 2) + "." + cnpj.substring(2, 5) + "." + cnpj.substring(5, 8) + "/" + cnpj.substring(8, 12) + "-" + cnpj.substring(12, 14) + " CNPJ valido!"); } else { System.out.println("!ERRO! " + cnpj.substring(0, 2) + "." + cnpj.substring(2, 5) + "." + cnpj.substring(5, 8) + "/" + cnpj.substring(8, 12) + "-" + cnpj.substring(12, 14) + " CNPJ Invalido!"); }
CPF
System.out.print("Informe um CPF: "); String cpf = usuario.next(); int res = 0, cal; char ver1, ver2; for (int i = 0; i < 9; i++) { res += ((int)(cpf.charAt(i)-48)* (10-i)); } cal = 11 - (res % 11); if (cal == 10 || cal == 11) { ver1 = '0'; } else{ ver1 = (char)(cal + 48); } for (int i = 0; i < 10; i++) { res += ((int)(cpf.charAt(i)-48)* (11-i)); } cal = 11 - (res % 11); if(cal == 10 || cal == 11){ ver2 = '0'; } else{ ver2 = (char)(cal + 48); } if (ver1 == cpf.charAt(9) && ver2 == cpf.charAt(10)) { System.out.println("Resultado: "+cpf.substring(0,3)+"."+cpf.substring(3,6)+"."+ cpf.substring(6,9)+"-"+cpf.substring(9,11)+" valido"); } else{ System.out.println("!ERRO! "+cpf.substring(0,3)+"."+cpf.substring(3,6)+"."+ cpf.substring(6,9)+"-"+cpf.substring(9,11)+" CPF Invalido"); }
Mensagens: 4
Participantes: 2