Olá pessoal! to com um pequeno probleminha aki q se fosse na vida real daria uma boa dor de cabeça… rsrs
Fiz um programa simulando a mega sena… mas ele ta repetindo os numeros, já caçei várias formas p evitar isso, mas nao to conseguindo… o que fazer p ele não repetir mais? segue o código:
[code]
import javax.swing.JOptionPane;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
sena1 rodar = new sena1();
int pergunta = JOptionPane.showConfirmDialog(null, "Deseja realizar sorteio?");
if(pergunta != 0)
JOptionPane.showMessageDialog(null,"Obrigado!");
else if(pergunta == 0){
{
do
{
for (int i = 0; i<6; i++){
rodar.definirnumeros();
rodar.guardanumero();
}
[quote=sgtbreitner]Olá pessoal! to com um pequeno probleminha aki q se fosse na vida real daria uma boa dor de cabeça… rsrs
Fiz um programa simulando a mega sena… mas ele ta repetindo os numeros, já caçei várias formas p evitar isso, mas nao to conseguindo… o que fazer p ele não repetir mais? segue o código:[/quote]
Guarde o resultado a cada sorteio. No próximo sorteio, compare o resultado com todos que estejam guardados. Caso você encontrar algum que já tirou antes, sorteie novamente até tirar um inédito. Repita ad nauseum.
vc teria que armazenar cada numero no array e depois comparar o numero sorteado com os anteriores pra ver se eram todos diferentes… e se for igual a algum numero anterior sortear de novo e armazenar no array.
vc tem um array mas so utiliza a primeira posicao dele sempre. dai nem precisaria do array.
e o if(pergunta != 0) … else if (pergunta == 0)
o segundo if se torna desnecessario, pois se pergunta for != 0 entao com certeza vai ser ==0
Então, a documentação do link eu já havia lido ela, ela é uma boa introdução aos números aleatórios, mas mesmo assim eu não consigo implementar o meu código… quando meu código gera os 6 números, do jeito que ele está, o código da margem para repetição entre os 6 números, p. ex: 0, 2, 2, 4, 10, 30 eu não to conseguindo fazer essa comparação acima… to tentando aqui mas não está dando certo… alguma dica?
ok, para descobrir se há números repetidos eu fiz assim:
public int gerarnumeros()
{
return new Random().nextInt(7) + 1;
}
public void definirnumeros()
{
num[i] = gerarnumeros();
if (num[i] == i ){
i = gerarnumeros();
}
}
mas ainda assim está saindo números repetidos, devo estar comparando de forma errada…??
cara, não é má vontade minha, to tentando fazer isso que você falou, mas não to conseguindo, você sabe onde eu posso encontrar algo para pesquisar e resolver esse problema?
Você sabe armazenar valores em um array (ou numa List ou qqr outra coleção) e obter todos os valores do array de voltar para compará-lo com o número que você tem na mão?
Você sabe armazenar valores em um array (ou numa List ou qqr outra coleção) e obter todos os valores do array de voltar para compará-lo com o número que você tem na mão?[/quote]