5
respostas

Meu código deu um erro estranho!

<meta charset="UTF-8">
<script>

    function pulaLinha(){

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

    function mostra(mensagem){

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


    for(var multiplicador = 1; multiplicador <= 10; multiplicador++){
        mostra("tabuada do 7 é " + (parseInt(7 * multiplicador)));

    }
    </script>

Meu código estava lendo o 7 como uma string e concatenando com o texto que eu quis colocar, apenas com o uso do parseInt, o problema foi resolvido isso aconteceu pq eu uso o mozilla ou pq eu tentei usar uma string desnecessária antes do mostra(7*multiplicador)?

5 respostas

Os dois exemplos abaixo funcionaram no Chrome e Firefox.

Exemplo 1

mostra("tabuada do 7 é " + 7 * multiplicador);

Exemplo 2

mostra("tabuada do 7 é " + (7 * multiplicador));

Como você fez e não deu certo sem usar o parseInt?

eu fiz exatamente da mesma maneira que vc fez, acabei de testar de novo e continua concatenando

não sei oq é isso

Fala Rodrigo, blz?

mostra("tabuada do 7 * " + multiplicador + " = " + 7 * multiplicador);

Ná verdade eu to confuso com essa dúvida sua, não faz sentido isso kkk, tá mostrando o 7 como uma String? Você não tá confundido com a parte escrita por você mesmo aqui?

mostra("tabuada do 7 é ??

Sempre vai mostrar isso no seu console, e depois irá multiplicar o 7 com o contador que é o multiplicador, então o resultado irá ser algo como.

tabuada do 7 é 7

tabuada do 7 é 14

tabuada do 7 é 21

E assim até o 70 é esse o seu resultado? Porque se for tá correto, porque tá concatenando uma String como uma soma.

Tira esse "parseInt", não é necessário nesse momento. Com o trecho de código do Diego e do Alisson funcionou redondinho. Qualquer coisa manda o código depois da alteração ok.

Oi Rodrigo esse erro não se deve ao navegador, sua saída para o usuário tá estranha tá imprimindo assim:

tabuada do 7 é 7
tabuada do 7 é 14
tabuada do 7 é 21
tabuada do 7 é 28
tabuada do 7 é 35
tabuada do 7 é 42
tabuada do 7 é 49
tabuada do 7 é 56
tabuada do 7 é 63
tabuada do 7 é 70

O problema não é a String "tabuada do 7" e sim o que ainda flata o correto seria assim:

mostra("tabuada do 7 * " + multiplicador + " = " + 7 * multiplicador);

E o resultado seria impresso corretamente como a estrutura está dentro do for eu iria variar o multiplicador nas impressões.

tabuada do 7 * 1 = 7
tabuada do 7 * 2 = 14
tabuada do 7 * 3 = 21
tabuada do 7 * 4 = 28
tabuada do 7 * 5 = 35
tabuada do 7 * 6 = 42
tabuada do 7 * 7 = 49
tabuada do 7 * 8 = 56
tabuada do 7 * 9 = 63
tabuada do 7 * 10 = 70

Espero ter ajudado e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software