Random COMO EU FACO?AJUDEM ME!

Dae galera tudoblz? pessoal é o seguinte estou precisando fazer um random que gere aletoriamente dez numeros entre 0 a 15 como eu faço isso alguem me ajuda?

int[] random = new int[10];
for(int i = 0; i < 10; i++) {
   random[i] = (int) (Math.random() * 15);
}

o metodo Math.random() retorna um double, com valores de 0 a 1, dessa forma, basta multiplicar pelo inteiro que voce quer e dar o casting para que ele gere o numero.
nesse exemplo, o resultado ficara no array random, e podera ter numeros repetidos.

se voce nao quiser numeros repetidos faca:

int[] random = new int[10];
boolean[] jahSaiu = new boolean[16];
for(int i = 0; i < 10; i++) {
   random[i] = (int) (Math.random() * 15);
       while(jahSaiu[random[i]]) {
           random[i] = (int) (Math.random() * 15);
       }
    jahSaiu[random[i]] = true;
}

so lembrando, ambos os codigos podem gerar numeros de 0 a 15.
ex: [6, 12, 4, 0, 2, 9, 7, 5, 15, 8]

espero ter ajudado

acredito que para gerar numero de 0 a 15 é preciso multiplicar por 16.

... = (int) (Math.random() * 16);

alguem poderia me explicar o q acontece no while em diante naum entendi muito bem
por favor
valeuuuuuuuuuuuuuu :grin:

[quote=“denis_arruda”]acredito que para gerar numero de 0 a 15 é preciso multiplicar por 16.

... = (int) (Math.random() * 16);

voce tem razao, eu me confundi :oops:
o metodo random gera numeros maiores ou iguais a zero e menores que 1, dessa forma, tem que se multiplicar por 16 mesmo…acabei de conferir na API…

int[] random = new int[10];
boolean[] jahSaiu = new boolean[16];
for(int i = 0; i < 10; i++) {
   random[i] = (int) (Math.random() * 16); //LINHA1
       while(jahSaiu[random[i]]) { //LINHA2
           random[i] = (int) (Math.random() * 16); //LINHA3
       }
    jahSaiu[random[i]] = true; //LINHA4
} 

e o while é o seguinte: se nao tiver saido o numero que foi sorteado na LINHA1 a execucao do programa nao vai entrar no loop (LINHA2).
caso contrario, o loop vai fazer um novo numero ser sorteado(LINHA3) ate que seja encontrado um numero que nao foi sorteado ainda. o indice pra esse novo numero vai estar marcado no array depossiveis sorteados depois da LINHA4.

espero ter sido mais claro, e foi mal pelo vacilo com o random…

so me explica mais uma coisa
nesse trecho :
… jahSaiu[random[i]] …

vc esta passando o conteudo da posicao random[i] como indice para o array jahSaiu[] ??? ou estaria atribuindo o valor de random[i] para uma posicao de jahSaiu[]???

sou um neeeeeeeeeooooobaaaaaaaa :cry:

em todo trecho que tem
jahSaiu[random[i]] eh porque eu to passando o numero que acabou de sair no “sorteio” para ver se já saiu aquele número. por exemplo:
random[<atual>] = 5;//o numero mais recentemente sorteado
jahSaiu[random[<atual>]]?//jah saiu o numero que acabou de ser sorteado?

a partir disso se faz todo o resto.

so respondendo sua pergunta mais diretamente, eu estou passando o conteudo da posicao random[<atual>] como indice para o array jahSaiu[].

espero ter sido mais claro.

agora sim
eu entendi tudo
valeu a passiencia
:grin: :grin: :grin: