Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Por que esse if não funciona?

Durante o exercício testei usar o if ao invés do mostra apenas para praticar. Sei que o mostra(document.write) seria mais simples e certeiro nesse caso, só quis testar com o if, mas ele não funcionou nesse caso. E ao inspecionar não vejo erro algum.

https://puu.sh/w54DP/a1a8ebbce6.png

edit: pra esclarecer, testei usando um ano limite que fosse ano de copa.

4 respostas

No caso você cai no if só se o ano de copa for igual ao ano limite, mas como você incrementa de 4 em 4 nem sempre essa condição vai ser verdadeira. Tente usar <= ao invés de ==.

Entendi, mas no caso, com <= também não funcionou, apenas com >=. Realmente, desse jeito não importa o ano limite, se superou ele, aparece a mensagem.

Mas ainda estou curioso quanto a uma coisa. A conta soma de 4 em 4. Se eu pedir um número entre 1930 e 2014. O ultimo número será 2014, será tanto o ano limite quanto um ano de copa também. Nesse caso pedir para o if lançar a mensagem ao atingir um número igual ao ano limite não deveria funcionar? Afinal o ano limite vai aparecer, por ser um ano de copa. ( usando o ==)

Ou eu estou confuso?

solução!

Rubens, como vai?

Veja que no ultimo looping do while ele entra pois os valores de ambas as variaveis ficou 2014, porém quando ele entra nesse ultimo looping ele incrementa mais 4, ficando então 2018, sendo assim quando ele desce para o if, você tem uma comparação de 2018 == 2014, por isso não entra no if. Faz sentido?

Abs, espero ter ajudado.

Entendi, faz todo sentido mesmo, obrigado.