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

Interrompendo uma repetição

Quando coloco o break, aparece o seguinte erro no console: Uncaught SyntaxError: Illegal break statement

E quando mudo para tentativas = 4, a página fica carregando mas não lê nada. Mas não aparece erro nenhum no console.

4 respostas

Boa noite Talita, sou novo aqui no Alura também, mas vamos tentar ajudar. Esse erro que ocorre ao usar o Break, geralmente está atrelado ao não uso das condicionais '''while''' ou do '''if''', usando outros métodos de loop, como a própria condicional '''loop'''. Não sei se esse é o seu caso. Será interessante se você colocar o código inteiro para todos os interessados em ajudar analisarem. E o outro problema sobre colocar a tentativas = 4, para fazer o break, e página não ficar fica o tempo todo carregando, é porque esta declaração está no local errado, ela deve ficar dentro do bloco '''if''', pode ser logo abaixo do mostra. Essa informação eu posso dar com convicção, porque errei pra caramba, comigo dava direto este loop infinito. E não tem como parar, ao chamar o html que tem função loop, no Chrome, só para quando você clicar no "x" do fechar página, pois o console nem consegue acessar a informação. Abraço Talita. Mas facilitará muito quando você expor o código aqui.

Demorei mas respondi...rs O código que estou usando é esse:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br><br>");

    }

    function mostra(frase) {

        document.write (frase);
        pulaLinha();
    }


  function sorteia(n) {

        return Math.round(Math.random() * n);

    }
    var numeroPensado = sorteia(10);
    console.log(numeroPensado)

    var tentativas = 1;

    while(tentativas <= 3);{

    var chute = parseInt(prompt("Digite seu chute de 1 a 10"));

    if (chute == numeroPensado) {
        mostra("Você acertou, o número pensado era " + numeroPensado);
        break;

    }     else {
        mostra("Você errou, o número pensado era " + numeroPensado);
    }

tentativas++;

}

mostra("FIM");


</script>

Se alguém puder me ajudar

solução!

Olá Talita,

A solução é remover o ; da linha while(tentativas <= 3);{

Espero que tenha ajudado,

Abs.

Caraca, muito obrigada. Um detalhe bobo faz mt diferença. Era exatamente isso.