Rekursive Implementation eines Codes

Aloushi

Mitglied
Hallo,
kann mir bitte jemand sagen, ob das so richtig ist? Falls nein, bitte ich nur Hinweise zu geben und keine ganzen Lösungen.

Aufgabe ist folgende:
Implementieren Sie eine statische-public Methode mit dem Namen "evenNumberOf" in der Klasse "Functionality". Die Methode bekommt als Eingabeparameter einen Integer-Wert n und ein Integer-Array und gibt einen Boolean zurück.

evenNumberOf soll rekursiv (!) feststellen, ob im Array die Anzahl des Wertes n gerade ist. Wenn ja, soll true zurueckgegeben werden, ansonsten false. Wenn das eingegebene Array null ist oder die Laenge 0 hat, soll ebenso false zurueckgegeben werden.

Beispiel: evenNumberOf(2, new int[] {1,2,3,2}) ---> true

evenNumberOf(1, new int[] {1,2,3,2}) ---> false




Java:
public static boolean evenNumberOf(int n, int[] a) {

        if (a.length == 0 || n == 0) {
            return false;
        }
        int count = 0;

        for (int i = 0; i < a.length; i++) {
            if (a[i] == n) {
                count++;
            }
        }

        if (count % 2 == 0 && count != 0) {
            return true;
        }
        else {
            return evenNumberOf(n - 1, a);
        }
    }
}
 
evenNumberOf soll rekursiv (!) feststellen
Die Feststellung, ob es gerade ist, findet aber bei Dir in einer Schleife (also iterativ) fest. Der rekursive Aufruf prüft ggf. eine Zahl, die eins kleiner ist. Das ist in der Aufgabe aber auch nicht gefordert.

Daher dürfte das nicht die Aufgabe erfüllen.
 

Neue Themen


Zurück
Oben