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

variavel recebendo condição não funciona

Pessoal, por que esse código funciona

class BalancoTrimestral{
    public static void main(String[] args) {

        int numero = 13;

        while(numero != 1){

            if((numero % 2) == 0){
                numero /= 2;
            }else{
                numero = ((3 * numero) + 1);
            }

            System.out.println(numero + " ");
        }

    }
}

E esse não?

class BalancoTrimestral{
    public static void main(String[] args) {

        int numero = 13;
        boolean eh_Par = ((numero % 2) == 0);

        while(numero != 1){

            if(eh_Par){
                numero /= 2;
            }else{
                numero = ((3 * numero) + 1);
            }

            System.out.println(numero + " ");
        }

    }
}

Essa variável eh_Par retorna um valor false ou true. Os códigos não fazem exatamente a mesma coisa?

O segundo código entra em um loop infinito. O primeiro não.

2 respostas
solução!

Oi Israel, tudo bem? O problema do segundo código é que depois de entrar no while o valor da variavel eh_Par nunca muda. Percebe? Por isso entra em loop infinito.

Faz todo sentido Wanderson, obrigado :)

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