Boa noite! Tudo bem?
Não entendi a questão do loop infinito a respeito do método "WHILE". Testei o código porém dá um loop infinito e não sei o por quê. Poderia me orientar o que houve?
Obrigado, Henrique Ribeiro Siqueira.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite! Tudo bem?
Não entendi a questão do loop infinito a respeito do método "WHILE". Testei o código porém dá um loop infinito e não sei o por quê. Poderia me orientar o que houve?
Obrigado, Henrique Ribeiro Siqueira.
public class Programa {
public static void main(String[] args) {
int contador = 1;
while(contador <= 10) {
System.out.println(contador);
}
}
}
Como o código funciona (passo-a-passo):
1º Passo: atribuir o valor 1 à variável contador.
2º Passo: Se contador for menor OU igual a 10, deve-se repetir o código dentro do escopo do while enquanto contador for menor OU igual a 10.
3º Passo: Imprimir o valor atual de contador
Veja que o problema do loop infinito é que o contador sempre tem valor 10 pois nunca alteramos seu valor em nenhum lugar no código.
Poderíamos parar esse loop infinito atribuindo um valor que não satisfaça a condição dentro do while, como por exemplo:
break (Neste caso, irá imprimir 1 e irá parar de executar as instruções do while devido ao break);Consegui chegar ao objetivo alterando a linha System.outprintln(contador); para System.outprintln(contador++); Porém a IA afirma que não resolvi o problema, mesmo tendo alcançado o resultado proposto pelo exercício. Alguém pode me esclarecer o que, de fato, deveria ser feito?
Consegui. Porém queria saber por que o incremento no contador não pode estar dentro do comando de print, sendo que produz o mesmo resultado, apenas encurtando o código.
Acredito que a resposta esperada para a questão é de informar que estava faltando o incremento na variável contador, apenas...
Na minha visão, você até pode incrementar a variável no println, mas isso começa a depender conforme o tamanho do projeto.
Imagina que você tem um programa com muitas linhas de código. As vezes pode não ficar evidente e/ou legível incrementar uma variável em um println podendo ter perda tempo para poder identificar essa variável.
Espero ter ajudado!
Ajudou sim, era bem nesse sentido minha duvida mesmo. Obrigadão!