1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como criar uma sequência aleatória a partir de um array que contenha mais elementos que a quantidade declarada nesse array?

Bem pessoal, basicamente eu tenho um array de String com 4 itens, mas eu quero gerar um print que mostre esses mesmos 4 itens, só que preciso mostrar 10 itens. Eu consegui um método que embaralha um array, mas ele apenas muda a ordem dos itens. Preciso que além de colocar de forma totalmente aleatória que sejam mostrados mais itens. Meu código tá assim:

package cronometro;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class teste {

    public static String[] embaralhar(String[]  
        ...vetores) {
         List<String> items = new ArrayList<>();
        for (String[] vetor : vetores) {
            for (String posicao : vetor) {
                items.add(posicao);
            }
        }
        long seed = System.nanoTime();
        Collections.shuffle(items, new Random(seed));

        return (String[]) items.toArray(new String[items.size()]);
    }

    public static void main(String[] projeto) {

        String[] movesTypes1 = embaralhar(
                new String[]{"R++"},
                new String[]{"R--"},
                new String[]{"D++"},
                new String[]{"D--"}
        );

        System.out.println(Arrays.toString(movesTypes1));

    }

}

Exemplo de saída:

[R++, R--, D--, D++]

Desejo que o programa mostre algo como:

[R++, D--, R--, D--, R--, D++, R--, D++, R++, D--]

Obrigado pela atenção ^^

  • O que aparece na tela quando você roda esse programa?

    fabregasf_CEC   30 de out de 2014
  • Coloquei ali, um exemplo de saída seria pro programa do jeito que tá aí é: [R++, R--, D--, D++]

    Lucas Sousa   30 de out de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java random ou faça a sua própria pergunta.