Daí galera.
Precisava randomizar os números 0, 2 e 4.
Existe alguma maneira de sortear qualquer um desses 3 números sem precisar fazer a verificação se são pares?
Eu tava randomizando assim:
gerarAleatorio.nextInt(5);
Aí fazia a verificação se eles era pares, mas eu queria algo mais direto.
o metodo random(),ele gera numeros aleatorios de 0.1 ate 1.0 nao incluso, roda ele multiplicando por 100 e da um casting por Integer,e depois usa %,entendeu ?
T
thingol
0 = 0 x 2
2 = 1 x 2
4 = 2 x 2
Então você precisa gerar um número aleatório de 0 a 2, e multiplicá-lo por 2. (Parece coisa de teste psicotécnico, não?)
Para gerar, use nextInt (3) (que gera de 0 até 2).
Marky.Vasconcelos
Desisto de tenta posta sempre da erro e quando vejo foi 10 post…
Marky.Vasconcelos
Mesmo que o de cima…
Marky.Vasconcelos
com o Random assim como você usa você pode verificar
se i % 2 == 0 continua se não sorteia denovo
dai você pode fazer assim
Randomr=newRandom();inti=0;do{i=r.nextInt(5);}while(i%2!=0);System.out.println(i);//Vai ser par
Ou a ideia do Thingol que achei bem legal
sergiotaborda
dedejava:
Daí galera.
Precisava randomizar os números 0, 2 e 4.
Sergio, tenho uma pergunta… o Randomizer então é diferente do Random, né?
E o ram.getNext(); pega um número qualquer ou ele pega na seqüência?
Gostei muito das respostas… algumas falara uma coisa que eu já havia fazendo (o do i % 2).
A que mais me atraiu até agora foi a do 2*numeroAleatorio. Realmente é uma boa dica essa
Todas as repostas muito boas.
Muito obrigado! Abraço!
sergiotaborda
dedejava:
Ae galera, valeu pelas respostas…
Sergio, tenho uma pergunta… o Randomizer então é diferente do Random, né?
E o ram.getNext(); pega um número qualquer ou ele pega na seqüência?
O Randomizer é uma classe que eu proprio criei ( com o codigo que escrevi) e depois usaria.Não pertence ao Java padrão.
O getNext() trás o próximo numero na sequencia. Mas detalhe, a seqüencia é aleatória.
Eu usei esse nome para ser semelhante ao dos definidos em Random (que pertence ao Java padrão) mas poderia ser qq coisa.
É que eu entendi que vc queria sortear apenas entre esses 3 numeros apenas, e não entre todos os numeros pares ( que é o problema resolvido pelas sugestões dos outros posts do topico)
Ou seja, se eu quiser sortear entre 0, 7 , 10 e 78 posso tb