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
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);
}
}
}