Olá, Maria Eugênia! Tudo bem?
A primeira alteração que fiz foi ter retirado o prompt
e colocá-lo dentro do `while'
var idade = prompt("Insira sua idade");
porque, todas as vezes em que inserimos um número, concorda que ele não entrará dentro do while
, pois ele não entra no critério de que idade não é número por ser um número?
while (isNaN(idade) && i < maximoTentativas)
Meu início ficou dessa forma
<meta charset="UTF-8">
<script>
var maximoTentativas = 3;
var i = 1;
Minha opção foi começar o while
somente comparando se a variável i
é menor ou igual a maximoTentativas
while (i <= maximoTentativas) {
depois eu coloquei meu prompt
para que todas as vezes em que houver o looping, chama-lo
while (i <= maximoTentativas) {
var idade = prompt("Insira sua idade");
Agora começo as minhas condicionais para comparar minha variável. A primeira analiso se isNaN(idade)
é falso:
if(isNaN(idade) == false){
Se for número imprima a idade
document.write("A idade inserida foi " + idade);
Eu coloquei um "pulo do gato" (rs) chamado break
que vai sair do while
quando for número
if(isNaN(idade) == false){
document.write("A idade inserida foi " + idade);
break;
Após isso coloquei a continuação da minha condicional, caso não seja um número inserido e acrescentando que meu maximoTentativas
e gerar um alert
para inserir mais uma vez
} else if(isNaN(idade) == true && i < maximoTentativas){
alert("Informação inválida, insira um número");
}
Logo após, meus incrementos
i = i + 1;
Abaixo dos incrementos, se ultrapassar o máximo de tentativas, um alert
com mensagem
if(i > maximoTentativas){
alert("Número de tentativas excedido");
}
}
Essa foi uma opção, Maria Eugênia!
Espero ter ajudado!
Bons estudos!