Εφαρμογή
public class Game {
public static void main(String[] args) {
LottoGame g = new LottoGame(); //δημιουργώ το αντικείμενο
g.getStiles(20); //ζητάω να παράξει 20 τυχαίες εξάδες
g.printStiles(); //ζητάω να τυπώσει τις παραπάνω εξάδες
}
}
class LottoGame {
//πίνακας για να αποθηκεύσω τις τυχαίες εξάδες
int[][] RANDOM;
//παράγει μία τυχαία εξάδα
private int[] getSix() {
int i;
int L[] = new int[49];
int R[] = new int[6];
//αρχικοποίηση
for(i=0; i<L.length; i++) {
L[i] = 0;
}
//παραγωγή 6 μοναδικών τυχαίων αριθμών
int counter = 0;
while(counter<6) {
i = (int)Math.floor(Math.random()*49);
if(L[i] != 0) continue;
L[i] = i+1;
counter++;
}
//ταξινόμηση και αποθήκευση στο R[]
counter = 0;
for(i=0; i<L.length; i++) {
if(L[i] == 0) continue;
R[counter++] = L[i];
}
//επιστέφω την τελική εξάδα που έχω αποθηκεύσει στο R
return R;
}
//παράγει πολλές τυχαίες εξάδες και τις αποθηκεύει στον πίνακα RANDOM
void getStiles(int N) {
RANDOM = new int[N][6]; //δεσμεύω μνήμη για το RANDOM
int six[] = new int[6]; //δεσμεύω μνήμη για το six
//χρησιμοποιώ διπλό for για να αποθηκεύσω τις εξάδες στο RANDOM
for(int r=0; r<N; r++) {
six = getSix(); //καλώ την getSix() που μου επιστρέφει μια εξάδα
for(int c=0; c<6; c++) {
RANDOM[r][c] = six[c];
}
}
}
//εκτυπώνει τις εξάδες που έχω αποθηκεύσει στον πίνακα RANDOM
void printStiles() {
int counter = 1; //χρησιμοποιώ έναν αριθμητή
//πάλι διπλό for για την εκτύπωση
for(int r=0; r<RANDOM.length; r++) {
System.out.print(counter++ + ". ");
for(int c=0; c<6; c++) {
System.out.print(RANDOM[r][c] + " ");
}
System.out.println();
}
}
}