English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在该程序中,您将学习在Java中使用for和while循环显示斐波那契数列。您将学习如何显示最多包含特定术语或数字的系列。
斐波那契数列是一个系列,其中下一项是前两个项的总和。斐波那契数列的前两个项是0,然后是1。
斐波那契数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
public class Fibonacci { public static void main(String[] args) { int n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms: "); for (int i = 1; i <= n; ++i) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; } } }
Beim Ausführen des Programms wird ausgegeben:
0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +
在上面的程序中,第一项(t1)和第二项(t2)分别初始化为斐波那契数列0和1的前两项。
然后,for循环迭代到n(项数),显示存储在变量t1中的前两项的和。
您还可以使用Java中的while循环生成斐波那契数列。
public class Fibonacci { public static void main(String[] args) { int i = 1, n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms: "); while (i <= n) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; i++; } } }
Die Ausgabe ist die gleiche wie im obigen Programm.
Im obigen Programm müssen wir den Wert von i im Schleifenkörper erhöhen, anders als im for-Schleifenumlauf.
Obwohl beide Programme technisch korrekt sind, ist es in diesem Fall am besten, den for-Schleifen zu verwenden. Dies liegt daran, dass die Anzahl der Iterationen (von}}1bis zu n)ist bekannt.
public class Fibonacci { public static void main(String[] args) { int n = 100, t1 = 0, t2 = 1; System.out.print("Bis zu " + n + ": "); while (t1 ≤ n) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; } } }
Beim Ausführen des Programms wird ausgegeben:
Bis zu 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
Das Programm zeigt die Sequenz bis zur angegebenen Zahl (100) vergleichen, anstatt die Sequenz bis zu einer bestimmten Zahl anzuzeigen.
Für diese, wir müssen nur die letzten beiden Zahlen (t1) und die Summe von n.
Wenn t1Kleiner oder gleich n, drucke t1。