Apostila Caelum

2 respostas
H

Olá estou com uma duvida no exercicio da apostila da Caelum no exercicio de divisao para achar par e impar.Segue o codigo:

[code=blue]public static void main(String[] args) {

int x=180;

int y;
while(x!=1){   
        if(x%2==0){   
            y=x/2;   
        }   
        else{   
            y=3*x+1;   
        }   
        x=y;   
       
        System.out.print(y+",");   
    }   
}

2 Respostas

AUser

Sim, mas qual é a dúvida?

Dica: formate seu código com as tags CODE.

GabrielCardelli
public static void main(String[] args) {
     int x=180;
     int y;

     while(x!=1){
         if(x%2==0){
             y=x/2;
         }
         else{
             y=3*x+1;
         }
     x=y;

         System.out.print(y+",");
    }
}

Ele vai fazer o seguinte

Enquanto X for diferente de um ele vai testar x%2==0 (Se x é possitivo...) se for ele joga a metade de x em y dai não entra no else e x passa a valer y

X então na segunda iteração é 90

e ele exibe 90

Dai exibe 45

dai 45 não entra no if pq é impar então vai no else dai ele faz aquela conta loca lá poe no y depois x = y

dai mostra y.

Não tem mistério.

Criado 19 de novembro de 2009
Ultima resposta 20 de nov. de 2009
Respostas 2
Participantes 3