Guten Abend zusammen
folgendes Problem:
Aufgabenstellung:
Erstellen Sie die rekursive Methode boolean contains( int[] arr, int n, int limit).
Die Methode contains soll true zurückgeben, wenn das Feld arr im Bereich der Indizes 0 ... limit
der Wert n mindestens einmal vorkommt. Sonst soll false zurückgegeben werden. Wird ein unzulässiges
Argument für limit übergeben, soll eine IllegalArgumentException geworfen werden.
Die Implementierung darf keine Schleifen enthalten.
Mein Code:
Ergbnis:
Frage:
Ist es so richtig? wenn nein was mache ich falsch?
Die println sind nur für mich damit ich es übersichtlicher habe und weiss wo der alles rein geht.
Mich verwirren halt diese wiederholungen wie kann ich es besser machen?
Vielen Dank schonmal im voraus
folgendes Problem:
Aufgabenstellung:
Erstellen Sie die rekursive Methode boolean contains( int[] arr, int n, int limit).
Die Methode contains soll true zurückgeben, wenn das Feld arr im Bereich der Indizes 0 ... limit
der Wert n mindestens einmal vorkommt. Sonst soll false zurückgegeben werden. Wird ein unzulässiges
Argument für limit übergeben, soll eine IllegalArgumentException geworfen werden.
Die Implementierung darf keine Schleifen enthalten.
Mein Code:
Java:
public static boolean contains(int[] arr, int n, int limit)
{
try
{
if(limit < arr.length && limit >= 0)
{
if(n == arr[limit])
{
System.out.println("true");
return true;
}
else
{
contains(arr, n, limit - 1);
}
}
}
catch(IllegalArgumentException e)
{
e.printStackTrace();
}
System.out.println("Limit größer als Array");
return false;
}
Ergbnis:
Frage:
Ist es so richtig? wenn nein was mache ich falsch?
Die println sind nur für mich damit ich es übersichtlicher habe und weiss wo der alles rein geht.
Mich verwirren halt diese wiederholungen wie kann ich es besser machen?
Vielen Dank schonmal im voraus