2
respostas

Qual é o nível de inteligencia do Java ?

Minha duvida é a seguinte, a resposta do usuário for um "s" minusculo o java não reconhece como uma resposta valida ? tenho que escrever outra linha de código ? ou tem algum modo menos verborrágico para essa solução ?

att

H.L

<meta charset="utf-8">

<script>

    function pulaLinha(){

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

    function mostra(frase) {

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


    var idade = parseInt(prompt("Qual é sua idade"));
    var temCarteira = prompt("Tem carteira? Responda S ou N");

    if(idade >= 18 && temCarteira == "S"){
        mostra("Pode dirigir");

    }

    if(idade < 18) {
        mostra("Nao pode dirigir");
    }

</script>
2 respostas

Olá amigo! Primeiramente, esse código é em linguagem de programação Javascript, que é diferente da linguagem de programação Java.

Voltando a sua pergunta, o jeito mais facil de fazer isso em Javascript é transformar as duas strings em maiúsculo ou minusculo como feito abaixo

if(idade >= 18 && temCarteira.toUpperCase() == "S".toUpperCase())

O "S".toUpperCase() é desnecessário no exemplo acima, mas imagine no caso onde as duas Strings são inseridas pelo usuário

Tem várias formas de você resolver isso.

1 - Utilizando mais uma condição no if: if((idade >= 18) && (temCarteira == "S" || temCarteira == "s")) {...}

2 - Como o Vitor citou.

3 - Com Expressão Regular(RegExp):

    var temCarteira = new RegExp(prompt("Tem carteira? Responda S ou N"), "i"); // o segundo parâmetro 'i' , quer dizer insensitive. Ou seja, vai ignorar a diferença de minúscula ou maiúscula.

    if(temCarteira.test("s")){ ...}