Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi direito o motivo da condição no for

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?

1 resposta
solução!

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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software