Auf Thema antworten

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]



Oben