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

queria saber porque esse código não esta rodando da forma certa, esta apenas compilando e mostrando na tela 10 e não a repetição

public class TesteWhile {
    public static void main(String[] args) {
        int contador = 10;
        while (contador <= 10){
            System.out.println(contador);
            contador += 1;

        }
    }
}
2 respostas

Olá erick,

a condição do seu laço diz que ele só vai executar o que está dentro do while se contador estiver menor ou igual a 10. Como a sua variável contador já começa com o valor 10 ele só deve estar imprimindo na saída apenas 1 vez, pois na segunda passagem ele já vai estar com o valor 11. No caso, você queria que ele contasse do 0 ao 10? Ai sua variável deveria comçar com o valor 0 ao invés de 10.

solução!

Boa noite Erick,

Do jeito que o seu código está tudo que ele faz é imprimir 10.

public class TesteWhile {
     public static void main(String[] args) {
        int contador = 10; 
        while (contador <= 10) {                                                      
            System.out.println(contador); 
            contador += 1;
        }
    }
 }

Após a primeira interação do while o contador passa a ser 11 e desse jeito não entra mais no while, afinal ele só aceita números menores ou iguais a 10.

Para imprimir uma sequência de 0 a 10 seria só zerar a variável contador.

public class TesteWhile {
     public static void main(String[] args) {
        int contador = 0; 
        while (contador <= 10) {                                                      
            System.out.println(contador); 
            contador += 1;
        }
    }
 }

Abraços

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