Olá, assim como na aula do método Remove, não entendi o motivo de colocar o -1 na condição do for. Podem explicar por favor?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, assim como na aula do método Remove, não entendi o motivo de colocar o -1 na condição do for. Podem explicar por favor?
Olá Santi, tudo certo?
Esse -1 é necessário, porque o contador sobre de 2 em 2 e não pode chegar no último elemento se for ímpar e não faz diferença em não chegar no último elemento se for par.
Se o array for par (com 4 elementos igual ao exercício), serão verificados os elementos 1 e 3, então o contador não chegará no quarto elemento, e esse elemento acaba se tornando "irrelevante" para o loop, por isso que o -1 pode ser aplicado.
Se o array for ímpar (novamente, com 5 elementos igual ao exercício), será feita a verificação da mesma maneira nos elementos 1, 3 e 5, mas quando chegar no quinto elemento, terá um problema na linha int segundoNumero = numeros[i+1];, pois o quinto elemento entrará na variável primeiroNumero, mas na hora de adicionar um valor na variável segundoNumero, não será possível, porque não tem mais elementos no array e é esperado um sexto elemento, então estourará a exceção System.IndexOutOfRangeException.
Espero ter ajudado!