Olá Jaqueline,
Pelo que vejo, os números sorteados estão saindo fora do intervalo especificado. Isso geralmente ocorre quando os valores de entrada não são convertidos corretamente para números inteiros ou quando a lógica de sorteio não está correta.
Vamos revisar e corrigir seu código:
- Certifique-se de converter os valores de entrada para inteiros usando
parseInt
. - Verifique a função
obterNumeroAleatorio
para garantir que ela está retornando números dentro do intervalo especificado.
Aqui está o código corrigido:
function sortear() {
let quantidade = parseInt(document.getElementById('quantidade').value);
let de = parseInt(document.getElementById('de').value);
let ate = parseInt(document.getElementById('ate').value);
let sorteados = [];
let numero;
for (let i = 0; i < quantidade; i++) {
numero = obterNumeroAleatorio(de, ate);
sorteados.push(numero);
}
alert(sorteados);
}
function obterNumeroAleatorio(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
Explicação:
Conversão para Inteiros:
parseInt(document.getElementById('quantidade').value)
parseInt(document.getElementById('de').value)
parseInt(document.getElementById('ate').value)
Isso garante que os valores lidos dos inputs sejam tratados como números inteiros.
Função obterNumeroAleatorio
:
Math.floor(Math.random() * (max - min + 1)) + min
Esta função gera um número aleatório entre min
e max
, inclusive.
Com essas correções, os números sorteados devem estar dentro do intervalo especificado.
Espero ter ajudado e bons estudos!