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

Não consigo encontrar o erro no meu programa

Escrevi o programa, mas ele não roda direito. No console, aparece que há um erro de sintaxe em </script>, mas para mim não há erro de sintaxe algum aí.

<meta charset="UTF-8">

<input/>
<button>Comparar</button>

<script>

var input = document.querySelector("input");
    input.focus();

function numGerados() {

    return Math.round(Math.random() * 10);
}

function numAleatorios(quantidade) {

    var numPensados = [];

    var contador = 1;

    while (contador <= quantidade) {

            var numQualquer = numGerados(); 

            var achou = false;

            if(numQualquer != 0) {

                for(var posicao = 0; posicao < numPensados.length; posicao++) {

                    if(numPensados[posicao] == numQualquer) {
                        achou = true
                        break;
                    }

                }

                if (achou == false) {

                    numPensados.push(numQualquer); 
                    contador++;

                }

            }

        return numPensados;
    }

var numPensados = numAleatorios (3); 

console.log(numPensados);

var tentativa = 0;

function verifica()  {

    var valorCerto = false

    for(tentativa = 0; tentativa < numPensados.length; tentativa++) {

        if (input.value == numPensados[tentativa]) { 

            alert("Aêêêêê. Você acertou! Que tal jogar na mega-sena?");
            valorCerto = true
            break; 

        }    
    } 

    if(valorCerto == false) {

        alert("Erroooooou!");

    }

}

    input.value = "";
    input.focus(); 

var button = document.querySelector("button");
button.onclick = verifica; 

</script>
3 respostas
solução!

Fala Bruna, Tudo bem?

Então.. erro de sintaxe indica que o código está escrito de forma errada.

Se há uma indicação de erro é indiscutivél que tem erro ali hehehe... Devemos observar e tentar consertar.

Realmente o problema estava na tag na linha 88 porém, o erro não era ali.

Você deixou de fechar a função numAleatorios(). Então logo abaixo do 'return numPensados;' você precisa deixar duas }. Uma fecha o while e a outra fecha a function.

Só esse trecho:

            return numPensados;
        }
    }

Código completo:

<meta charset="UTF-8">

<input />
<button>Comparar</button>

<script>

    var input = document.querySelector("input");
    input.focus();

    function numGerados() {

        return Math.round(Math.random() * 10);
    }

    function numAleatorios(quantidade) {

        var numPensados = [];

        var contador = 1;

        while (contador <= quantidade) {

            var numQualquer = numGerados();

            var achou = false;

            if (numQualquer != 0) {

                for (var posicao = 0; posicao < numPensados.length; posicao++) {

                    if (numPensados[posicao] == numQualquer) {
                        achou = true
                        break;
                    }

                }

                if (achou == false) {

                    numPensados.push(numQualquer);
                    contador++;

                }

            }

            return numPensados;
        }
    }

    var numPensados = numAleatorios(3);

    console.log(numPensados);

    var tentativa = 0;

    function verifica() {

        var valorCerto = false

        for (tentativa = 0; tentativa < numPensados.length; tentativa++) {

            if (input.value == numPensados[tentativa]) {

                alert("Aêêêêê. Você acertou! Que tal jogar na mega-sena?");
                valorCerto = true
                break;

            }
        }

        if (valorCerto == false) {

            alert("Erroooooou!");

        }

    }

    input.value = "";
    input.focus();

    var button = document.querySelector("button");
    button.onclick = verifica;

</script>

Uma dica é deixar a indentação do código em dia.

Código indentado fica mais fácil dar manutenção.

No VS Code eu uso o ctrl+shift+i e o editor faz a formatação automaticamente.

Espero ter ajudado.

Muito obrigada, Eraldo. Eu imaginei que fosse em outra parte, mas não consegui achar. Vou aguçar mais o olhar.

Tranquilo Bruna.. Acontece.

Observar os erros que retornam do nosso código é uma fonte de aprendizagem enorme.