Fiquei com dúvida pois nos meus testes tanto na opçao parseInt(Math.random() * 3)+1); como a parseInt(Math.random()*4); podem ser utilizadas para codigo.
Fiquei com dúvida pois nos meus testes tanto na opçao parseInt(Math.random() * 3)+1); como a parseInt(Math.random()*4); podem ser utilizadas para codigo.
Olá, Edson, como vai?
A diferença entre as duas opções está na forma como elas geram os números.
Math.random()
gera um valor entre 0 (inclusive) e 1 (exclusivo). Multiplicando esse valor por 3, obtemos números entre 0 (inclusive) e 3 (exclusivo). O parseInt vai arredondar esse número para o inteiro mais próximo, então ele pode gerar 0, 1 ou 2. Quando você soma 1, o intervalo final fica entre 1 e 3, ambos inclusivos.Math.random()
gera um número entre 0 (inclusive) e 1 (exclusivo), multiplicado por 4. Isso vai gerar um valor entre 0 (inclusive) e 4 (exclusivo). O parseInt vai arredondar esse número para 0, 1, 2 ou 3, portanto, esse código vai gerar um número entre 0 e 3, e não entre 1 e 3.Então, para obter um número entre 1 e 3, o correto é usar a primeira opção: parseInt(Math.random() * 3) + 1;
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)
Maravilha Mike, entendi....preciosa sua explicação. muito obrigado