Rekursives durchlaufen eines arrays

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Hallo zusammen,

    Ich bin noch ziemlich neu in der Informatik Welt und habe heute eine Aufgabe bekommen auf die ich leider keine Lösung weiß.

    Ich soll eine Methode apply programmieren die folgende Eigenschaften hat:

    public static int apply( int[] arr, int i )

    -Die Methode apply muss rekursiv arbeiten. Bei der Implementierung von apply dürfen
    die Schlüsselwörter for und while nicht verwendet werden.

    -Für alle i mit 0<=i<arr.length soll die Methode apply

    die Anzahl der Indizes x mit 0<=x<=i ermitteln,

    an denen der Wert arr[x] kleiner als 10 und größer als -5 ist.

    Die ermittelte Anzahl soll zurückgegeben werden

    -Für alle i, die außerhalb des Bereichs 0<=i<arr.length liegen,

    soll die Methode apply den Wert 0 zurückgeben.

    Dazu kommt das wir keine weiteren Attribute oder Methoden verwenden dürfen.

    Vielen Dank für die Hilfe

    PS: Ich möchte am besten gar keine ferige Lösung sondern einen Ansatz wie ich das Array durchlaufen kann

  • Du solltest überprüfen, ob i im legalen Bereich liegt. Wenn nein, solltest du 0 zurückgeben. Andernfalls solltest du überprüfen, ob arr[i] im legalen Bereich liegt. Wenn ja, solltest du 1 + apply(arr, i - 1) zurückgeben, andernfalls apply(arr, i - 1). So funktioniert Rekursion.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!