Hallo,
Ich studiere Informatik und heute mussten wir in einem Testat eine rekusive Methode entwickeln, die das hier leistet:
Grundgerüst der Methode:
Code:
public static int b(int[] arr, int i){...}
Aufgabe:
Zitat:
Es soll geprüft werden, ob alle Elemente in arr positiv sind. Wenn ja soll 1 zurückgegeben werden, sonst 0. Die Methode MUSS rekusiv sein und für alle i funktionieren. Wird ein Wert für i übergeben, der außerhalb von arr liegt, soll -1 zurückgeben werden. Die Parameterliste von b DARF NICHT ergänzt werden.
Wie würde eine solche Methode bei euch aussehen?
Meine Lösung (glaube ich nicht ganz richtig):
Code:
public static int b(int[] arr, int i)
{
if ((i >= 0) && (i < arr.length))
{
if (arr[i] > 0)
{
return 1 + b(arr, i + 1);
}
else
{
return 0;
}
}
else
{
if (arr.length > 1)
{
return -1;
}
else
{
return 0;
}
}
}