3
respostas

[Duvida] [Desafio] par ou impar

O código funciona parcialmente por algum motivo não funciona quando o usuário digita um caracter que não seja numero

numero = parseFloat(prompt("Digite um numero"));
paridade(numero);
function paridade(numero){
    while (numero > -1) {
        if (numero % 2 == 0){
            alert("Numero par")
        }else if(numero % 2 !=0){
            alert("Numero impar")
        }else{
            alert("Não é um numero")
        }
    break;
    }

}
3 respostas

Bom dia Ivan!

Ele está funcionando parcialmente pois não há uma tratativa para os dados que não sejam números.


if (isNaN(numero)) {
    alert("Não é um número");
} else {
    paridade(numero);
}

Verifica se o dado está correto e redireciona o fluxo para ordem correta avisando o usuário sobre.

Qualquer dúvida, estou a disposição!

Fiz as modificações e creio que ficou melhor

numero = parseFloat(prompt("Digite um numero"));
if(isNaN(numero)){
    alert("Não é um numero")
 }else{
    paridade(numero)
 }
function paridade(numero){    
    while (numero != -1) {
        if (numero % 2 == 0){
            alert("Numero par")
            break;
        }else if(numero % 2 !=0){
            alert("Numero impar")  
            break;      
        }
    }
}

Olá, Ivan! Tudo bom?!

Que legal! Agora o seu programa valida o tipo de entrada que o usuário insere!

Sobre o erro, verifique o tipo de input utilizado no html, pode ser essa a causa...