// validaPrimeiroDigito()
// (...)
soma = (soma * 10) % 11;
if (soma == 10 || soma == 11) {
soma = 0;
}
No código apresentado na aula, é verificado se a soma é igual 11 logo após o resultado da multiplicação ser divido por 11 para se obter o módulo da operação. Ora, 11 é divisível por 11, logo o resultado final da operação nunca será 11, e portanto, a segunda condição no "if" é desnecessária:
soma = (soma * 10) % 11;
if (soma == 10) {
soma = 0;
}
Isso remove a redundância do código original. Ademais, se o que preciso é que quando a soma seja igual a 10 essa torne-se em 0, ou seja, esteja entre 0 e 9, é possível ainda simplificar o código obtendo o módulo da divisão por 10 logo após a operação que é atribuida à variável "soma", da seguinte maneira:
soma = soma * 10 % 11 % 10;
Espero que isso possa ajudar nos seus estudos de lógica!