Ev3rton
Olá,
Eu faria assim:
int[] array = new int[5*3];
int index = 1;
int aux = 0;
for(int i = 0; i < array.length; i++) {
array[i] = index;
aux++;
if(aux >= 3) {
aux = 0;
index++;
}
}
javaorg
Ev3rton:
Olá,
Eu faria assim:
int[] array = new int[5*3];
int index = 1;
int aux = 0;
for(int i = 0; i < array.length; i++) {
array[i] = index;
aux++;
if(aux >= 3) {
aux = 0;
index++;
}
}
int sorteio = 1 + (int)(Math.random() *quantJogador);
Só que preciso que array[i] = (sorteio);
E não array[i] = um número definido;
Onde sorteio seria um número de 1 a quantJogador(que no caso é 5).
Preciso que seja sorteado...
Se não sempre seria assim, 1 - 1 - 1 - 2 - 2 - 2 - 3 - 3 - 3 ( sequencial )
E preciso que seja assim, 1 - 3 - 1 - 2 - 3 - 1 - 2 - 2 - 3 ( sorteado )
javaorg
UP.
Ainda estou com essa dúvida, se alguem souber…
Ev3rton
Olá,
Para você gerar números aleatórios de 1 a 5 e que repitam no máximo 3 vezes, ficaria assim:
int[] array = new int[5*3];
int index = 0;
while(index < array.length) {
int rand = Math.abs(new Random().nextInt()) % 5 + 1;
int ocorrencias = 0;
for(int j = 0; j < array.length; j++) {
if(array[j] == rand) {
ocorrencias++;
}
}
if(ocorrencias < 3) {
array[index] = rand;
index++;
}
}
[ ]'s