Das Beispiel dieses Artikels analysiert das Prinzip von Java. Teilen Sie es für alle für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Erläuterung: Das Programm, das seine eigenen Programmierfähigkeiten ruft, wird als Rekursion bezeichnet.
Das Programm, das seine eigenen Programmierkenntnisse nennt, wird als Rekursion bezeichnet. Rekursiv als Algorithmus wird in Programmiersprachen häufig verwendet. Ein Prozess oder eine Funktion hat eine Methode, die sich direkt oder indirekt in seiner Definition oder Anweisungen aufruft. Um die für den Problemlösung erforderlichen wiederholten Berechnungen zu beschreiben, die den Code des Programms erheblich reduzieren. Die Möglichkeit zu wiederholen besteht darin, die unbegrenzte Sammlung von Objekten mit begrenzten Sätzen zu definieren.
Drei Rekursionsbedingungen:
Der Grenzzustand rekursiver fortgeschrittene Segmente zurück zum Rückgabebereich, wenn die Randbedingungen nicht erfüllt sind, rekursiv vorwärts;
Die folgenden zwei Beispielprogramme werden erklärt:
Verwenden Sie den Java -Code, um die Bestellung 5 zu finden. (5 Schritte von 5*4*3*2*1)
/*** Berechnen Sie 5 (Ergebnis = 5*4*3*2*1)*@Autor pplsunny ****/public class test01 {public static void main (String [] args) {System.out.prin tln (( Tln (f (5));} public static int f (int n) {if (1 == n) return 1;
Analysieren Sie in dieser Frage nach den drei rekursiven Bedingungen:
(1) Randbedingungen: Stufenmultiplikator, multipliziert mit der letzten Zahl, dh wenn 1, Rückgabe 1 die Programmausführung bis zum Ende;
(2) rekursiver Frontabschnitt: Wenn die aktuellen Parameter nicht gleich 1 sind, rufen Sie sich weiterhin an.
(3) Rekursiver Rückgabebereich Abschnitt: Starten Sie mit der maximalen Zahl, wenn der Stromparameter 5, 5*4, 5*(5-1) beträgt, dh N*(n-1)
Verwenden Sie den Java -Code, um die Nummer zu finden: 1, 1, 2, 3, 5, 8 ...... 40. Nummer
/ ** * Suchen Sie Nummer: 1,1,2,3,5,8 ... die 40. Nummer * @author pplsunny * */ public class test_fibonacci {public static void main (String [] args) {System.out. println (f (f (6));} public static int f (int n) {if (1 == n || 2 == n) return 1; else return f (n-) + f (n-2) ;}}
Der Durchbruch dieser Frage ist: Ausgehend von der 3. Ziffer ist die Zahl die Summe der ersten beiden Ziffern. Um den Wert der Zahl zu berechnen, müssen Sie die Zahl als Parameter berechnen.
(1) Erstens sollte der zurückgegebene aktuelle Wert 1 und 2 betragen, wenn die Anzahl der Ziffern 1 und 2 beträgt.
(2) Wenn die Anzahl der Ziffern 3 beträgt, sollte der Rückgabewert = 2 = 1+1 sein;
Wenn die Zahl 4 ist, ist der Rückgabewert = 3 = 2+1;
Wenn die Ziffer 5 ist, ist der Rückgabewert = 5 = 3+2;
Wenn die Zahl 6 ist, ist der Rückgabewert = 8 = 5+3;
... ...
(3) Aus (2), wenn erfahren wird, dass der Wert des aktuellen digitalen (n) = F (n-1)+f (n-2), wenn es mehr als oder gleich 3 ist, der aktuelle digitale (n) = f (n-1)
Erfahrung: Einige Anfänger mögen denken, dass Rekursion sich selbst nennen soll, wäre es nicht ein toter Zyklus? Ja, wenn das rekursive Schreiben unangemessen ist, ist es der Zyklus des Todes. Wenn das Schreiben jedoch angemessen ist und der "Grenzbedingung", wenn das Programm bis zum Ende ausgeführt wird, wird die Schicht für Schicht zurückgegeben. Genau wie wir den Berg besteigen, klettern wir auf der Bergstraße, um die Schicht ohne die Spitze des Berges zu klettern. Aber wenn Sie die Spitze des Berges erreichen, klettern Sie die Stufen hinunter, wenn Sie den Berg hinaufgehen.
Es ist zu hoffen, dass dieser Artikel für Java -Programmdesign aller hilfreich ist.