Olá, Carlos!
Pelo que entendi, você já encontrou a solução para o problema do loop infinito no código do Willian. E você está absolutamente correto!
O problema ocorre porque o contador, inicializado com o valor de qtdNumeros
, não está sendo decrementado dentro do loop while
. Isso faz com que a condição contador > 0
seja sempre verdadeira, resultando em um loop infinito.
O ajuste que você fez é exatamente o que o Willian precisa fazer. Adicionando contador--
dentro do loop, você garante que o valor do contador diminua a cada iteração. Quando o contador chegar a zero, a condição contador > 0
será falsa e o loop será encerrado.
Aqui está o código corrigido, com base no que você sugeriu:
let qtdNumeros = prompt('Digite a quantidade de números para o cálculo da média:');
let soma = 0;
let contador = qtdNumeros;
while (contador > 0) {
let numero = parseInt(prompt('Digite o numero:'));
soma += numero;
contador--; // Decrementar contador dentro do loop
}
let media = soma / qtdNumeros;
console.log(media);
Espero ter ajudado e bons estudos!