Erro na estrutura de validação de CPF

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!");
    }

}

}

O seu problema está no if:

(resto1 == primeiro_validador && resto2 == segundo_validador)

E você já sabe o valor de resto1 e de resto2 porque você está imprimindo o valor deles antes.
Por que nao tenta também imprimir o valor de primeiro_validador e segundo_validador e verifica no que eles sao diferentes?

Eu imprimi antes para confirmar se o cálculo que ele estava realizando estava dando certo. O if é para dizer se o resultado dos 2 cálculos são iguais aos 2 últimos dígitos do número do CPF. Por exemplo, o CPF 86715672067. Realizando o cálculo, e o resultado das duas contas forem 6 e 7, então o número do CPF é verdadeiro. Por isso que usei o &&, pois se as duas contas baterem com os 2 últimos dígitos, o CPF é verdadeiro.
Porém, mesmo digitando um número de CPF verdadeiro, o if acusa que ele é falso, e não sei em que eu errei nesta estrutura.