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

Dúvida no Ex. 9 da Aula 2 - Variáveis e fluxo

Um detalhe interessante do exercício é que ele pede pra imprimir sem pular linha. E no exemplo da resposta correta ele pula!

Tive que pesquisar no google e encontrei o tal do String.valueOf. Então temos que concatenar o valor de x na String de saída.

O código ficaria +- assim:

public class Exercicio8 {

        public static void main(String[] args) {

                int x = 13;
                String saida = "";

                while(x > 1){
                    if(x % 2 == 0){
                        x = x/2;
                    }else{
                        x=3*x+1;
                    }
                    saida += String.valueOf(x) + " >";
                }                
                System.out.println(saida);
        }
}

Acho que este exercício deveria ser revisto, já que o String.valueOf não é ensinado nesta etapa.

7 respostas

Boa noite, tudo bem?

Peguei o teu código e mudei um pouco a estrutura e deu tudo certo. Dá uma olhada.

int x = 13; String saida = "";

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

Obrigado pelo Retorno Guilherme! Sua solução não utiliza o String.valueOf, mas o System.out.print, e poderia ser a resposta mais adequada do Exercício do que a resposta padrão que aparece lá.

abs!

Para não pular linha, basta substituir o System.out.println por System.out.print

Sim, mas mesmo assim, acho que a resposta padrão deveria ser modificada.

Compreendo, Rodrigo. Qualquer outra dúvida pode perguntar, apesar que de java ainda sei muito pouco...

Valeu Guilherme!

solução!

Oi Rodrigo,

Obrigada pelo feedback, a resposta já foi alterada.

Abraço!