Auf Thema antworten

Ich werfe einfach mal mit Code um sich:

[code=Java]    private static boolean drei(int[] gewuerfelt) {

        int[] anzahl = new int[7];

        for (int i : gewuerfelt) {

            anzahl[i]++;

        }

        for (int i : anzahl) {

            if (i == 3) {

                return true;

            }

        }

        return false;

    }


    private static boolean vier(int[] gewuerfelt) {

        int[] anzahl = new int[7];

        for (int i : gewuerfelt) {

            anzahl[i]++;

        }

        for (int i : anzahl) {

            if (i == 4) {

                return true;

            }

        }

        return false;

    }


    private static boolean full(int[] gewuerfelt) {

        int[] anzahl = new int[7];

        for (int i : gewuerfelt) {

            anzahl[i]++;

        }

        boolean b2 = false, b3 = false;

        for (int i : anzahl) {

            if (i == 2) {

                b2 = true;

            }

            if (i == 3) {

                b3 = true;

            }

            if (b2 && b3) {

                return true;

            }

        }

        return false;

    }


    @NotImplementedYet

    private static boolean klein(int[] gewuerfelt) {

        throw new UnsupportedOperationException();

    }


    private static boolean gross(int[] gewuerfelt) {

        gewuerfelt = Arrays.copyOf(gewuerfelt, gewuerfelt.length);

        Arrays.sort(gewuerfelt);

        for (int i = 0; i < gewuerfelt.length - 1; i++) {

            if (gewuerfelt[i] != gewuerfelt[i + 1] - 1) {

                return false;

            }

        }

        return true;

    }[/code]


Wegen [icode]klein[/icode] schaue mal hier: http://stackoverflow.com/questions/15671620/small-straight-method


Das Problem ist, dass vier auch drei sein kann, full auch drei sein kann und gross auch klein sein kann . . . . Deswegen in umgekehrter Reihenfolge:

[code=Java]            if (gross(ia)) {

                System.out.println("gross");

            }

//            if (klein(ia)) {

//                System.out.println("klein");

//            }

            if (full(ia)) {

                System.out.println("full");

            }

            if (vier(ia)) {

                System.out.println("vier");

            }

            if (drei(ia)) {

                System.out.println("drei");

            }[/code]


Mit if und Else ! ! ! !



Oben