Hier der Code etwas übersichtlicher.
[CODE lang="java" highlight="8-18,23-27,31-41,45-49"]import java.util.Arrays;
import java.util.Random;
public class TestLotto {
private final static Random rnd = new Random(System.currentTimeMillis());
public static void main(String[] args) {
int num = 1500;
int sumPositivPair = 0;
for (int i = 0; i < num; i++) {
int[] numbers = getLottoNumbers();
boolean hasPair = hasPair(numbers);
if (hasPair)
sumPositivPair++;
System.out.println((hasPair ? "O" : "-") + "\t" + Arrays.toString(numbers));
}
System.out.println(String.format("\nBei %d Ziehungen waren %d mal Paare dabei!\n%.2f %%", num, sumPositivPair,
(100 * sumPositivPair / (double) num)));
}
public static boolean containsNumber(int num, int[] numbers) {
for (int i = 0; i < numbers.length; i++) {
if (num == numbers)
return true;
}
return false;
}
public static int[] getLottoNumbers() {
int[] numbers = new int[6];
int id = 0;
while (id < 6) {
int num;
do {
num = rnd.nextInt(49) + 1;
} while (containsNumber(num, numbers));
numbers[id++] = num;
}
Arrays.sort(numbers);
return numbers;
}
public static boolean hasPair(int[] numbers) {
for (int i = 1; i < numbers.length; i++) {
if (numbers[i - 1] + 1 == numbers)
return true;
}
return false;
}
}[/CODE]