Oi tenho um projeto que gera um sorteio de 0 3000, mas queria colocar ele dentro de uma janela e controla-lo com um botão!!!
Mas como ja disse ainda estou começando e gostaria que alguem me explicasse!!!
class TesteShuffle {
/**
*/
public static void main(String[] args) {
// Embaralhar os valores entre 0 e 3000 - maneira simples
List valores = new ArrayList();
for (int i = 0; i < 3000; ++i) {
valores.add (new Integer(i));
}
Collections.shuffle (valores);
for (int i = 0; i < 3000; ++i);
System.out.println (valores+"\n");
// Embaralhar os valores entre 0 e 3000 - como o professor está pensando
int[] vals = new int[3000];
for (int i = 0; i < 3000; ++i) {
vals[i] = i;
}
for (int i = 2999; i >= 1; --i) {
int j; // uma posição entre 0 e (i - 1)
j = (int) (Math.random() * i);
// trocar entre si as posições i e j
int tmp = vals[i];
vals[i] = vals[j];
vals[j] = tmp;
}
for (int i = 0; i < 3000; ++i) {
System.out.print (vals[i] + ", ");
}
System.out.println();
// Embaralhar os valores entre 0 e 3000 - pelo método da força bruta
int[] numeros = new int[3000];
numeros[0] = (int) (Math.random() * 3000); // achar o primeiro número
for (int i = 1; i < 3000; ) {
int val = (int) (Math.random() * 3000);
boolean achou = false;
for (int j = 0; j < i; ++j) {
if (numeros[j] == val) {
achou = true;
break;
}
}
if (!achou) {
numeros[i] = val;
++i;
}
}
for (int i = 0; i < 3000; ++i) {
System.out.print (numeros[i] + ", ");
}
System.out.println();
}
}
Este aí sorteia numeros em serie!!! de 0 a 3000, se alguem souber me explicar!!!