3
respostas

Dúvida sobre a impressão do contador

Estou com uma dúvida. Consegui resolver o exercício. Mas em uns dos meus testes me surgiu uma dúvida. Na construção do código. Quando eu coloco system.out.println(contador);

No primeiro exemplo temos o código correto e executando normalmente.

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

        int contador = 1;
        while(contador <=10) {
        System.out.println(contador);
        ++contador;
        }
    }
}

Porém vi exemplos que colocamos duas Sysouts para imprimir o resultado, só que quando colocamos system.out novamente imprime o resultado duas vezes. Por exemplo, 11,22,33,44,55 e assim por diante até chegar ao "11". Existe necessidade de incluir duas vezes o System.out, ou não? E porque imprime o resultado duas vezes?

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

        int contador = 1;
        while(contador <=10) {
        System.out.println(contador);
        ++contador;

        System.out.println(contador);
        }
    }
}
3 respostas

O comando System.out.println(contador) simplesmente vai imprimir no console o valor do contador. A quantidade de vezes que você vai colocar depende do objetivo que deseja demonstrar. São diversos os tipos de exercícios com objetivos diferentes, as vezes com apenas um sysout, às vezes com mais de um sysout, utilizado no encadeamento de loops, por exemplo.

O exemplo que vc postou não vai imprimir 11,22,33,etc; e sim o valor do contador antes do incremento e depois do incremento para cada laço do loop.

Vitor beleza ?

sou novo em programação, mas olhando no segundo código que você mostrou, acredito que a repetição ocorre devido o segundo sysout esta ainda dentro do while, no qual deveria esta fora. Para demostrar que ele fechou no numero limite (de acordo com o que foi exigido no contador contador <=10).


        public static void main(String[] args) {

            int contador = 1;
            while(contador <=10) {
            System.out.println(contador);
            ++contador;
            } //while

            System.out.println(contador);
        //repare que o sysout esta fora do fechamento do while

        } //main
} // class

Boa noite Vitor, beleza?

Esse segundo código está imprimindo duas vezes pois o segundo SysOut está dentro do while!

Caso desça esse código duas linhas, ficará igual ao do Paulo na aula

Bons estudos!