Pessoal estou tentando usar o metodo math.random, mas não sei como passar os parametros para este metodo.
Ex: eu queria que os numeros variassem de 1 ate 100.
Alguem poderia me ajudar
Grato.
JDiego
Oi
JDiego, seguinte, o Randon só faz números entre 0 e 1, ou seja, essa foi uma jogada de mestre do time da Sun, se tu quer que varie entre 0 e 100, multiplique o Random por 100, se quer que fique entre 0 e 354, multiplique o random por 354, entedeu?
T+
Valeu jeveaux pela ajuda
T+
Link relacionado !
http://www.portaljava.com/home/modules.php?name=Forums&file=viewtopic&t=7024
Abraço,
Maicon
Valeu maicon agora estou mais esclarecido
[quote=“jeveaux”]Oi
JDiego, seguinte, o Randon só faz números entre 0 e 1, ou seja, essa foi uma jogada de mestre do time da Sun, se tu quer que varie entre 0 e 100, multiplique o Random por 100, se quer que fique entre 0 e 354, multiplique o random por 354, entedeu?
T+[/quote]
soh uma correcao, se vc multiplicar por 100, vai variar de 0 a 99, pq vao ter 100 possibilidades, o mesmo pra 354, pra gerar um numero de 1 a 100 eh soh fz assim:
int num = 1 + (int)(Math.random() * 100);
o numero q vc soma eh o numero minimo e o numero q vc multiplica eh o numero de possibilidades, olha o q acontece:
qndo vc usar o metodo Math.random no exemplo assima, vai gerar um double > 0 e < 1, ou seja, n pode ser 0 nem 1, pode ser 0.0000000001 ou pode ser 0.9999999999999 mas n pode ser 0 nem um, entaum se o numero gerado for 0.99999999999, o resultado da multiplicacao por 100 vai ser 99.999999999 entaum vai ser convertido para int, lembre-se q qndo um numero eh convertido, ele n eh arredondado, simplesmente as casas depois da virgula (ou melhor, do ponto) sao descartadas, entaum no caso vai gerar o numero 99, dai soma 1 e vira 100, caso o numero gerado seja 0.000000001, o resultado da conversao sera 0, somando 1 da 1…
espero ter ajudado
E Vc ajudou muito felipe
obrigado pela ajuda
T+
[quote=“Felipe”][quote=“jeveaux”]Oi
JDiego, seguinte, o Randon só faz números entre 0 e 1, ou seja, essa foi uma jogada de mestre do time da Sun, se tu quer que varie entre 0 e 100, multiplique o Random por 100, se quer que fique entre 0 e 354, multiplique o random por 354, entedeu?
T+[/quote]
soh uma correcao, se vc multiplicar por 100, vai variar de 0 a 99, pq vao ter 100 possibilidades, o mesmo pra 354, pra gerar um numero de 1 a 100 eh soh fz assim:
int num = 1 + (int)(Math.random() * 100);
o numero q vc soma eh o numero minimo e o numero q vc multiplica eh o numero de possibilidades, olha o q acontece:
qndo vc usar o metodo Math.random no exemplo assima, vai gerar um double > 0 e < 1, ou seja, n pode ser 0 nem 1, pode ser 0.0000000001 ou pode ser 0.9999999999999 mas n pode ser 0 nem um, entaum se o numero gerado for 0.99999999999, o resultado da multiplicacao por 100 vai ser 99.999999999 entaum vai ser convertido para int, lembre-se q qndo um numero eh convertido, ele n eh arredondado, simplesmente as casas depois da virgula (ou melhor, do ponto) sao descartadas, entaum no caso vai gerar o numero 99, dai soma 1 e vira 100, caso o numero gerado seja 0.000000001, o resultado da conversao sera 0, somando 1 da 1…
espero ter ajudado [/quote]
Oi
Felipe, muito bem lembrado… Ou então, é só fazer um round depois gerar Random e multiplicar pelo fator… aí se for 0,000000001 vira 0 e se for 99,99999 vira 100
:joia:
T+
[quote=“jeveaux”][quote=“Felipe”][quote=“jeveaux”]Oi
JDiego, seguinte, o Randon só faz números entre 0 e 1, ou seja, essa foi uma jogada de mestre do time da Sun, se tu quer que varie entre 0 e 100, multiplique o Random por 100, se quer que fique entre 0 e 354, multiplique o random por 354, entedeu?
T+[/quote]
soh uma correcao, se vc multiplicar por 100, vai variar de 0 a 99, pq vao ter 100 possibilidades, o mesmo pra 354, pra gerar um numero de 1 a 100 eh soh fz assim:
int num = 1 + (int)(Math.random() * 100);
o numero q vc soma eh o numero minimo e o numero q vc multiplica eh o numero de possibilidades, olha o q acontece:
qndo vc usar o metodo Math.random no exemplo assima, vai gerar um double > 0 e < 1, ou seja, n pode ser 0 nem 1, pode ser 0.0000000001 ou pode ser 0.9999999999999 mas n pode ser 0 nem um, entaum se o numero gerado for 0.99999999999, o resultado da multiplicacao por 100 vai ser 99.999999999 entaum vai ser convertido para int, lembre-se q qndo um numero eh convertido, ele n eh arredondado, simplesmente as casas depois da virgula (ou melhor, do ponto) sao descartadas, entaum no caso vai gerar o numero 99, dai soma 1 e vira 100, caso o numero gerado seja 0.000000001, o resultado da conversao sera 0, somando 1 da 1…
espero ter ajudado [/quote]
Oi
Felipe, muito bem lembrado… Ou então, é só fazer um round depois gerar Random e multiplicar pelo fator… aí se for 0,000000001 vira 0 e se for 99,99999 vira 100
:joia:
T+[/quote]
exatamente! mas tem q se ter bastante cuidado qndo se vai gerar numeros na sorte, pq se vc por ex, quiser por q vai variar de 0 a 99 (ou seja, 100 elementos), e se confunde e poe de 0 a 100 ou de 1 a 100, e esse valor vai ser jogado em um array, dai se qndo vc tiver testando, o 100 n for gerado nenhuma vez (o q eh bem provavel, pois eh 1 chance em 100), dai vc n vai saber desse bug…