Kann mir jemand bei der rekursiven Berechnung der Fibonacci Folge helfen?

3 Antworten

  1. Komische Aufgabe.
  2. Ohne die Fehlermeldung wird man dir nicht helfen können
  3. Alleine von der Zeile sieht es so aus, als ob du mit + versuchst 2 arrays zu addieren., obwohl du wahrscheinlich nur die beiden Werte im Array an einer bestimmten Position addieren möchtest.
Steffi1997563 
Fragesteller
 13.12.2020, 14:51

Also die Konsole spuckt folgendes aus: bad operand types for binary operator '+'

@hairybear weißt du wie man das ändern kann?

0

Wenn du eine Fehlermeldung kriegst und Hilfe dabei brauchst, sie zu beseitigen

  • poste deinen Code (hast du gemacht 👍)
  • erkläre, was dein Code tun sollte (hast du gemacht 👍)
  • poste auch die Fehlermeldung (fehlt)

Durch die Fehlermeldung können wir nämlich schneller herausfinden, wonach wir überhaupt gucken sollen.

Zu deinem Code: Mal angenommen, der geht mit pos = 9 in die Funktion. Dann setzt der in Zeile 22 pos = 10 und versucht dann, array[pos], also array[10], zu setzen. Aber das Array hat nur 10 Einträge, nämlich array[0] bis array[9], also ist der Index 10 "out of bounds".

Umgekehrt: Wenn er mit pos = -2 hereingeht (was er wegen der Rekursion irgendwann tut), wird der Index negativ, was auch "out of bounds" ist.

Die Methode fib gibt ein int-Array zurück. Du versuchst nun in Zeile 23, zwei int-Arrays mittels mathematischen Operator miteinander zu addieren, was natürlich nicht klappen kann.

Ich denke, deine rekursive Methode sollte eher nur eine einfache Zahl (int) zurückgeben. Da du der Methode die Referenz auf das Array überreichst, können dessen Werte auch in der Methode verändert werden.