随机化字符串而不重复

时间:2016-09-09 20:37:16

标签: android random repeat

我制作的游戏需要在屏幕上显示随机短语,但它们会不断重复。

如何让它们随机出现而不重复?

以下是代码:

{
                                    wordList[0] = "Sou Mexicano";
                                    wordList[1] = "Ajuda-me";
                                    wordList[2] = "Salva-me";
                                    wordList[3] = "Vamos Ganhar";
                                    wordList[4] = "Estou sem palavras";
                                    wordList[5] = "Amo Esparguete";
                                    wordList[6] = "Criei o Mundo";
                                    wordList[7] = "Sou Cientista";
                                    wordList[8] = "Carrega o Telemovel";
                                    wordList[9] = "Gosto de Cebolas";
                                    wordList[10] = "Torre de Pisa";
                                    wordList[11] = "Volta a Portugal";
                                    wordList[12] = "Vai Nadar";
                                    wordList[13] = "Andar de Bike";
                                    wordList[14] = "Cortar a Relva";
                                    wordList[15] = "Acender a Luz";
                                    wordList[16] = "Gosto de Animes";
                                    wordList[17] = "Estou Gravida";
                                    wordList[18] = "Nao temos Tempo";
                                    wordList[19] = "Vou tomar Duche";
                                    wordList[20] = "Trabalho em Casa";
                                    wordList[21] = "Gosto de Cenouras";
                                    wordList[22] = "Vamos para a Piscina";
                                    wordList[23] = "Tenho um Cao";
                                    wordList[24] = "Quero Voar";
                                    wordList[25] = "Eles vao passear";
                                    wordList[26] = "Quero Fama";
                                    wordList[27] = "Folha Vermelha";
                                    wordList[28] = "Sai do Facebook";
                                    wordList[29] = "Mete no Instagram";
                                    wordList[30] = "Jantar esta pronto";
                                    wordList[31] = "Temos que conversar";
                                    wordList[32] = "Amanha temos Aulas";
                                    wordList[33] = "Bateria Fraca";
                                    wordList[34] = "Tenho comida";
                                    wordList[35] = "Traga a Conta";
                                    wordList[36] = "Sexta vai ser Feriado";
                                    wordList[37] = "Feito em China";
                                    wordList[38] = "Eu confio nele";
                                    wordList[39] = "Vai ao Skype";
                                    wordList[40] = "Eu amo-te";
                                    wordList[41] = "Liga a Televisao";
                                    wordList[42] = "Olha para ele";
                                    wordList[43] = "Segue-me";
                                    wordList[44] = "Comecem a Contagem";
                                    wordList[45] = "Anda para aqui";
                                    wordList[46] = "Liga-me";
                                    wordList[47] = "Abre o Guarda-Sol";
                                    wordList[48] = "Pare de Insistir";
                                    wordList[49] = "Espera um Bocado";
                                    wordList[50] = "Bom Dia";
                                    wordList[51] = "Tenho boas Noticias";
                                    wordList[52] = "Vamos Terminar";
                                    wordList[53] = "Fumar Mata";
                                    wordList[54] = "Vais Preso";
                                    wordList[55] = "Que Calor";
                                    wordList[56] = "Que Frio";
                                    wordList[57] = "Vou-me Vestir";
                                    wordList[58] = "Eles Pagam";
                                    wordList[59] = "Devolve-me a Carteira";
                                    wordList[60] = "Vai Anoitecer";
                                    wordList[61] = "Vamos fazer Direta";
                                    wordList[62] = "Acabou o Whisky";
                                    wordList[63] = "Vamos jogar LoL";
                                    wordList[64] = "Nao Percebi";
                                    wordList[65] = "Vamos Beber";
                                    wordList[66] = "Porque me Abandonaste";
                                    wordList[67] = "Estou Casado";
                                    wordList[68] = "Acesso Proibido";
                                    wordList[69] = "Mete na Caixa";
                                    wordList[70] = "Fecha a Porta";
                                    wordList[71] = "Tranca o Cofre";
                                    wordList[72] = "Abre a Garagem";
                                    wordList[73] = "Vamos ao Cinema";
                                    wordList[74] = "Queres namorar Comigo";
                                    wordList[75] = "Vou ao Continente";
                                    wordList[76] = "Estou no Jardim";
                                    wordList[77] = "Fui lavar o Carro";
                                    wordList[78] = "Eles jogam Andebol";
                                    wordList[79] = "Vou andar de Skate";
                                    wordList[80] = "Queres jogar FIFA";
                                    wordList[81] = "Vamos ter Teste";
                                    wordList[82] = "Procura na Mochila";
                                    wordList[83] = "Falei com o Diretor";
                                    wordList[84] = "Demorou muito Tempo";
                                    wordList[85] = "Nao gosto de Abacaxi";
                                    wordList[86] = "Viste o Acidente";
                                    wordList[87] = "Caixa Azul";
                                    wordList[88] = "Boneco de Neve";
                                    wordList[89] = "Eu Conduzo";
                                    wordList[90] = "Nao bebas muito";
                                    wordList[91] = "Flor Amarela";
                                    wordList[92] = "Saco Preto";
                                    wordList[93] = "Faz o Comer";
                                    wordList[94] = "Lembra-te de Comer";
                                    wordList[95] = "Onde Estou";
                                    wordList[96] = "Mete ao Contrario";
                                    wordList[97] = "Trabalho num Apartamento";
                                    wordList[98] = "Nao ouvi nada";
                                    wordList[99] = "Estou no Limite";
                                  }
                                  Random randomGenerator = new Random();
                                  int randomInt = randomGenerator.nextInt(100);
                                  String wordToDisplay = wordList[randomInt];
                                  TextView frase = (TextView) findViewById(R.id.textView7);
                                  frase.setText(wordToDisplay);

很抱歉,如果这是一个重复的问题,但我已经搜索过,并且找不到此解决方案。

2 个答案:

答案 0 :(得分:3)

复制您的清单。随机播放副本。以洗牌顺序从列表中选择短语,直到它们全部被使用。如有必要,再制作一份副本并将其随机播放。您将获得相同的短语,但顺序不同。 Java有Collections.shuffle(),我不确定Android。

答案 1 :(得分:0)

我找到了一种让单词重复次数更少的方法。 这是代码:

Random randomGenerator = new Random();
int randomInt = randomGenerator.nextInt(100);
String wordToDisplay = wordList[randomInt];
TextView frase = (TextView) findViewById(R.id.textView7);
frase.setText(wordToDisplay);
List<String> valores = new ArrayList<String>();
valores.add(wordToDisplay);
Collections.shuffle(valores);