Ir ao conteúdo
  • Cadastre-se

Javascript Por que a condição else if não está funcionando


Posts recomendados

Estou fazendo um exercício em JS que consiste em criar um jogo de pedra papel tesoura, só que baseado na série The big bang theory, o problema foi tirado do site uri online judge. Segue o código para vocês verem: 

var input = require('fs').readFileSync('./dev/stdin/file.txt', 'utf-8');
var lines = input.split('\n');


let teste = lines.shift();
let jogada;
let sheldon = '';
let raj = '';
for(let i = 0; i < teste; i ++){
    jogada = lines.shift().split(' ');

    sheldon = jogada[0];
    raj = jogada[1];

    if(sheldon === raj){
        console.log('De novo!');
    }
    else if(sheldon === 'tesoura' && raj === 'papel'){
        console.log('Bazinga!');
    }
}

Isso é o que eu já tenho pronto, porém estava realizando uns testes, com as seguites entradas em um arquivo .txt: 

2
tesoura papel
tesoura lagarto

 

Porém o que funciona é a parte de entrar no loop for, as variáveis sheldon e raj recebem o valor contido na variável jogada, porém na hora de fazer a comparação nada acontece. 

Gostaria de uma explicação para isso e como resolver essa situação. Obrigada a todos que me ajudarem.

Link para o comentário
Compartilhar em outros sites

@brunodevlock Eu verifiquei e as constantes com os seguintes valores: tesoura papel

a variável jogada estã recebendo: tesoura papel, depois a variável sheldon recebe o valor de jogada[0] que é tesoura, depois a variável raj recebe o valor de jogada[1] que é papel, Ai quando chega na condicional else if não é executado nenhum comando do bloco.

O .split é para pegar os valores string do .arquivo .txt e meio que transformar em um array de strings. A atribuição será sempre string.

tesoura papel
Verifiquei também que quando a atribuição é diretamente no código ou seja sem ser pelo arquivo txt, tudo funciona normalmente, por exemplo:

let sheldon = 'tesoura'; // se eu colocar direto os valores para essas variáveis funciona normal, porém se for pelo arquivo .txt não funciona.

let raj = 'papel';

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!