Wpis z mikrobloga

#naukaprogramowania #java mam pytanie odnosnie prostego zadania w jezyku Java.
funkcja getNumb pobiera dane wejsciowe, ktore nastepnie są argumentem dla funkcji sumOfNumbers, ktora ma wypisywac wszystkie liczby od 1 do tej podanej liczby.
Programik gra i buczy jak się od razu wpisze poprawna wartosc, natomiast jest male ale.
Jesli wpiszemy liczbe mniejszą od 1 to program wypisuje blad, i jeszcze raz wczytuje wczytuje funkcję getNumb, tylko z jakiś nie wiadomych przyczyn gdy teraz , za drugim razem wpisujemy dobre dane wejsciowe to juz program nie dziala. Moze spotkal ktoś się z czymś podobnym. Dziękuje
J.....L - #naukaprogramowania #java mam pytanie odnosnie prostego zadania w jezyku Ja...

źródło: comment_7DofLrX37GeMcTYQRS9eRtJ7V5x6Ou5J.jpg

Pobierz
  • 8
@JungleJamPL: Wywołanie rekurencyjne na linijce 24.

Odpalasz program.

Wchodzisz do getNumb() (wywołanie 1)
Zmienna lokalna input = -1
Robisz wywołanie rekurencyjne getNumb(wywołanie 2).

STACK
Wywołanie 2
Wywołanie 1

Kończysz wywołanie 2 zwracasz 34 i nigdzie nie zapisujesz.

STACK
Wywołanie 1

Kończysz wywołanie 1, a tam input = -1

Zwracasz -1