Pessoal, preciso MUITO da ajuda de vocês.
como seria possível gerar números aleatórios sempre próximos, ou seja, se o primeiro que eu gerei foi o número 12, o próximo ficar entre 4 pra mais ou pra menos (8-16).
Pesquisei e não achei uma maneira, preciso sempre me basear no anterior, ele vai estar armazenado num array.
Alguém sabe?
Obrigado.
Math.random(), números aleatórios próximos
9 Respostas
Random r = new Random();
int primeiro = r.next (100); // não sei quanto é seu valor máximo
int proximo = primeiro;
for (int i = 0; i < 100; ++i) {
System.out.println (proximo);
proximo = proximo + (r.next (9) - 4); // ou seja, vai ser entre -4 e +4
}
eu não poderia ter números negativos, então teria que fazer um IF?
caso a subtração (-4) fosse menor que 1, setar como 1
adiciona esta linha
if(proximo < 0)
proximo = 1;
Meio estranho esse seu gerador de números aleatórios…
é um semi-aleatório
o que o next(9) faz?
pega o próximo aleatório com máximo de 9.
semi-aleatório ou pseudo-aleatório?
é que preciso gerar um array com número que tenha boa chances de repetições e números próximos
quando coloco o método “next(numero)” no meu método diz que ele é privado.
Por quê?
posta o código aew!
o next diz que tem acesso protegido na classe Random
O método random.net( int ) é protected,
por isso ocorre o erro. Dá uma olhada na api do java, dá uma luz qdo ñ se conhece
a Classe.
http://download-llnw.oracle.com/javase/1.5.0/docs/api/java/util/Random.html
É só usar o método nextInt( int ) que é public.