Random

Fiz um prog q simula a Mega Sena…mas n quero q o resultado se repita, como faço?

[code]public class Randomico
{

public static void main(String[] args) throws InterruptedException
{

  int var1 = (int) (Math.random() * 62) -1;

  Thread.sleep(50);

  int var2 = (int) (Math.random() * 62) -1;

  Thread.sleep(50);

  int var3 = (int) (Math.random() * 62) -1;

  Thread.sleep(50);

  int var4 = (int) (Math.random() * 62) -1;

  Thread.sleep(50);

  int var5 = (int) (Math.random() * 62) -1;

  Thread.sleep(50);

  int var6 = (int) (Math.random() * 62) -1;

  Thread.sleep(50);

  System.out.print( "\n" + var1 );
   System.out.print( "\n" + var2  );
    System.out.print( "\n" + var3  );
     System.out.print( "\n" + var4  );
      System.out.print( "\n" + var5  );
       System.out.print( "\n" + var6 + "\n" );

System.exit ( 0 );

}
}[/code]

Desde jah
Vlw…:

System.exit ( 0 );

vc não quer ???

… testei aki e num tá repetindo naum !!!

vc ta gerando o numero de forma errada… desse jeito vai gerar um numero de -1 ateh 60, qndo o desejado eh de 1 ateh 60, dai fica:

int var = (int)(Math.random() * 60) + 1;

o que vc pode fazer pra nao repetir o numero, eh criar um array com todas as possibilidades, dai vc sorteia a posicao, move o ultimo numero pra possicao sorteada e considera a lista como tendo um numero a menos…

public class Randomico{
 public static void main(String[] args) throws InterruptedException{
  int possibilidades[] = new int[60];
  int resultado[] = new int[6], aux;
  for (int i = 0; i < possibilidades.length; i++) possibilidades[i] = i + 1;
  int tamanho = possibilidades.length;
  for (int i = 0; i < resultado.length; i++){
   aux = (int)(Math.random() * tamanho);
   resultado[i] = possibilidades[aux];
   possibilidades[aux] = possibilidades[--tamanho];
  }
  for (int i = 0; i < resultado.length; i++){
   System.out.println("\n" + resultado[i]);
  }
 }
}

Eu ja tive que fazer algo semelhante para faculdade. No meu caso criei um vetor de inteiros e conforme ia “sorteando” ia comparando com os demais numeros no vetor para ver se não tinha nenhum igual.

Infelizmente não sei se existe algum metodo pronto para isso no Random.

uma opcao parecida com a de Felipe é criar um array booleano com as posicoes dos possiveis sorteios da mega sena, dai, quando voce faz um sorteio, usa aquela posicao como indice pra marcar aquela posicao do array como true. ai, pra cada proximo numero a ser sorteado ficaria assim:

boolean[] array = new boolean[60];
int var2 = (int) (Math.random() * 60) + 1; 
if(array[var2 - 1]) {
  while(array[var2 - 1]) {
    var2 = (int) (Math.random() * 60) + 1; 
  }
}
array[var2 - 1] = true;

a vantagem sobre o metodo de rangel é que não precis percorrer todo um vetor a cada novo sorteio, e a desvantagem é que vai ocupar mais memória em tempo de execução.

escolhe a melhor pra tu ae.
erpero ter ajudado