1
resposta

Resolução Loop Infinito

Sinceramente não entendi o que estou fazendo de errado... Ele continua em looping infinito e não calcula nenhuma média...

let qtdNumeros = prompt('2'); let soma = 0; let contador = qtdNumeros;

while(contador > 0){ let numero = parseInt(prompt('Digite o numero:')); soma += numero;

// Aqui você deve adicionar a linha para decrementar o contador
contador--; // Decrementa o contador a cada iteração

}

let media = soma / qtdNumeros;

console.log(media);

1 resposta

Oi Cintia,

Você já identificou o problema do loop infinito e até comentou a linha correta! 😊

O erro estava justamente na falta do contador-- dentro do seu while.

Sem essa linha, o valor de contador nunca diminui, mantendo a condição contador > 0 sempre verdadeira e, consequentemente, o loop rodando sem parar.

Seu código corrigido ficaria assim:

let qtdNumeros = prompt('2');
let soma = 0;
let contador = parseInt(qtdNumeros); // É importante converter para número

while(contador > 0){
  let numero = parseInt(prompt('Digite o numero:'));
  soma += numero;
  contador--; // Decrementa o contador a cada iteração
}

let media = soma / qtdNumeros;

console.log(media);

Note que também adicionei um parseInt na linha que define o contador.

O prompt retorna um texto, e para garantir que a comparação no while funcione corretamente, é bom ter certeza de que contador é um número. 💪

Para saber mais: Laços e repetição - while.

Continue praticando! 🌟