Folgende prozedur erklären

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Folgende prozedur erklären

    Ich habe folgendes Programm hier und ich verstehe es nicht könntet ihr mir bitte das sehr detailiert erklären?

    Quellcode

    1. public class P {
    2. private Long method1(Long x, Long y) {
    3. if (y == 1)
    4. return x;
    5. return x + method1(x, y-1);
    6. }
    7. private Long method2(Long x, Long y, Long z) {
    8. z = y - 1;
    9. if (y==1)
    10. return x;
    11. return method1(x, method2(x,y-1,z));
    12. }
    13. public static void main (String [] args ) {
    14. P p = new P();
    15. Long a = new Long (2),
    16. b = new Long (5),
    17. c = new Long (a-b);
    18. System.out.print("Result: " +p.method2(a,b,c));
    19. }
    20. }
    Alles anzeigen


    Danke schonmal für die hilfe (hoffentlich)
  • Sieht zwar schick aus, aber ich muss echt sagen, wer sowas schreibt der ist nicht normal :D

    Der Wert y in Mathode1 ist der Wert der durch den rekursiven aufruf der Methode 2 rauskommt, um diesen zu berechnen musst du die Methode 1 noch berücksichtigen die dann ebenfals rekursiv rechnet... also viel zu kompliziert :))
    Gibt dir jeweils die Werte mit println aus, dann wirst du sehen wie der rechnet :)
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.