Witam!
Napisałem program (Lotto) losujący 6 liczb. Program zapisałem w pętlach aby był elastyczny.. Bo co jak nagle ktos umysli sb ze w Lotku ma byc losowane 7 liczb ? :>
zmieniam tylko jedną zmienną z 6 na 7 i Done! . Jednak mam problem gdyz losowane liczby czasem sie powatrzają np.
1 1 2 46 3 12
co moge zrobić aby program sprawdzal to czy liczby sie powtarzają i np. powtarzal losowanie?
import java.io.*;
import java.util.Scanner;
import java.util.Collections;
import java.util.Arrays;
public class Lotto {
public static void main(String[] args) {
final int ilosc_losowanych_liczb = 6; // losowanie 6 liczb
System.out.print("Podaj ile chcesz zakładów: ");
Scanner scl = new Scanner(System. in );
int ile = scl.nextInt();
if (ile >= 1 && ile <= 8) {
for (int l = 1; l <= ile; l++) {
System.out.print(l + "/ ");
int[] nr = new int[ilosc_losowanych_liczb];
// losowanie liczb
for (int i = 0; i <= (ilosc_losowanych_liczb - 1); i++) {
nr[i] = (int)((47 * Math.random()) + 1);
}
// sortowanie i wyświetlenie
Arrays.sort(nr);
for (int i = 0; i <= (ilosc_losowanych_liczb - 1); i++) {
System.out.printf(" %2d ", nr[i]);
}
System.out.printf("\n");
}
} else {
System.out.println("Nieprawidłowa ilość zakładów");
}
}
}
Ps. to jest duga wersja programu. W pierwszej nic nie zapetlałem co dawalo mozliwosc sprawdzenia powtarzania sie liczb do-while'm i wyglądało to tak: