Sou iniciante em programação em Java. Estava tentando pôr o calculo de validação de número de CPF em Java, seguindo os cálculos certos para realizar a validação. Só que há algo estranho acontecendo no meu código. No final, os dois dígitos mostram correspondentes aos que o usuário digita mas no resultado diz, segundo a minha estrutura IF, que não está. Queria que pudessem me ajudar vendo o que está errado nele, mesmo depois de muito tempo analisando e não ter encontrado tal erro. Obrigado.
OBS: CPF digitado apenas com os números, sem pontos e traço.
package Principal;
import java.util.Scanner;
public class cpf {
public static void main(String[] args) {
System.out.println("Digite o CPF: ");
Scanner input = new Scanner(System.in);
String s = input.nextLine();
char c0 = s.charAt(0);
int primeiro_i10 = c0 - 48;
int segundo_i10 = c0 - 48;
char c1 = s.charAt(1);
int primeiro_i1 = c1 - 48;
int segundo_i1 = c1 - 48;
char c2 = s.charAt(2);
int primeiro_i2 = c2 - 48;
int segundo_i2 = c2 - 48;
char c3 = s.charAt(3);
int primeiro_i3 = c3 - 48;
int segundo_i3 = c3 - 48;
char c4 = s.charAt(4);
int primeiro_i4 = c4 - 48;
int segundo_i4 = c4 - 48;
char c5 = s.charAt(5);
int primeiro_i5 = c5 - 48;
int segundo_i5 = c5 - 48;
char c6 = s.charAt(6);
int primeiro_i6 = c6 - 48;
int segundo_i6 = c6 - 48;
char c7 = s.charAt(7);
int primeiro_i7 = c7 - 48;
int segundo_i7 = c7 - 48;
char c8 = s.charAt(8);
int primeiro_i8 = c8 - 48;
int segundo_i8 = c8 - 48;
int primeiro_validador = s.charAt(9);
int segundo_validador = s.charAt(10);
//PRIMEIROS RESULTADOS
int primeiro_resu10 = primeiro_i10 * 10;
int primeiro_resu9 = primeiro_i1 * 9;
int primeiro_resu8 = primeiro_i2 * 8;
int primeiro_resu7 = primeiro_i3 * 7;
int primeiro_resu6 = primeiro_i4 * 6;
int primeiro_resu5 = primeiro_i5 * 5;
int primeiro_resu4 = primeiro_i6 * 4;
int primeiro_resu3 = primeiro_i7 * 3;
int primeiro_resu2 = primeiro_i8 * 2;
int primeiro_resulTotal = primeiro_resu10 + primeiro_resu9 + primeiro_resu8 + primeiro_resu7 + primeiro_resu6 + primeiro_resu5 + primeiro_resu4 + primeiro_resu3 + primeiro_resu2;
int resto1 = (primeiro_resulTotal * 10) % 11;
System.out.println(resto1);
//SEGUNDOS RESULTADOS
int segundo_resu10 = segundo_i10 * 11;
int segundo_resu9 = segundo_i1 * 10;
int segundo_resu8 = segundo_i2 * 9;
int segundo_resu7 = segundo_i3 * 8;
int segundo_resu6 = segundo_i4 * 7;
int segundo_resu5 = segundo_i5 * 6;
int segundo_resu4 = segundo_i6 * 5;
int segundo_resu3 = segundo_i7 * 4;
int segundo_resu2 = segundo_i8 * 3;
int segundo_resu1 = resto1 * 2;
int segundo_resulTotal = segundo_resu10 + segundo_resu9 + segundo_resu8 +
segundo_resu7 + segundo_resu6 + segundo_resu5 + segundo_resu4 +
segundo_resu3 + segundo_resu2 + segundo_resu1;
int resto2 = (segundo_resulTotal * 10) % 11;
System.out.println(resto2);
if (resto1 == primeiro_validador && resto2 == segundo_validador) {
System.out.println("O CPF é válido!");
}
else {
System.out.println("O CPF é inválido!");
}
}
}