int[]meuArray=newint[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};System.out.println("Antes de embaralhar:");System.out.println(Arrays.toString(meuArray));shuffleArray(meuArray);System.out.println("Depois de embaralhar:");System.out.println(Arrays.toString(meuArray));
H
Heihel
Uma das coisas que está me confundindo é que estou abstraindo um baralho. Então imaginei o baralho como uma coleção de cartas. Logo, baralho tem que ser uma estrutura de dados que vai receber 52 elementos do tipo Carta.
Depois eu preciso embaralhar esse baralho.
Por fim eu preciso exibir o baralho embaralhado.
Eu já consegui criar as cartas e criar o baralho.
Falta embaralhar e mostrar.
Tô me confundindo com o tipo Carta. Por enquanto meu baralho é uma array simples. Acho que array não serve pra esse problema.
Solucao aceita
staroski1 like
Serve sim, ao invés de fazer um array de int, você fará um array de Carta.
Basta alterar o código do método shuffleArray para ser assim:
Eu li ontem de madrugada sua sugestão e não havia entendido. Mas devia ser o sono! Eu li novamente e agora entendi. Eu só não tenho como testar agora porque estou no trabalho.
Eu quero checar se o baralho não vai ter cartas repetidas. Quando eu estava em casa bolando uma forma de fazer usando o Random eu imaginei um possível problema: Random gera números aleatórios, porém não garante que não se repitam. Aí pensei que poderia gerar um baralho com cartas repetidas.
Se usando Random não ficar legal vou mudar para uma List. Assim posso usar o método Shuffle.
Mais tarde eu reporto como ficou.
Muito obrigado pela ajuda!
staroski
Você não deve usar o Random para gerar as cartas, o Random será usado para embaralhar as cartas já existentes.
H
Heihel
tem razão. entendi. as cartas já estão criadas. nem tinha me ligado. vlw!
H
Heihel
que vacilo meu. fiquei preso num detalhe que nem era real. não sei porque achei que o random iria bagunçar a criação das cartas.
eu já até deixei a responsabilidade de criar as cartas em outro objeto… não teria como esse método bagunçar isso. obrigado!
H
Heihel1 like
Consegui finalizar o exercício. Muito obrigado! Ajudou demais mesmo!