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; } } }
Cuando se ejecute el programa, la salida será:
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++; } } }
La salida es la misma que el programa anterior.
En el programa anterior, a diferencia del bucle for, debemos aumentar el valor de i dentro del bucle.
Aunque ambos programas son técnicamente correctos, en este caso es mejor usar un bucle for. Esto se debe a que el número de iteraciones (desde1到n)是已知的。
public class Fibonacci { public static void main(String[] args) { int n = 100, t1 = 0, t2 = 1; System.out.print("Hasta " + n + ": "); while (t1 <= n) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; } } }
Cuando se ejecute el programa, la salida será:
Hasta 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
Este programa mostrará la secuencia hasta el número dado (100),en lugar de mostrar la secuencia hasta un número específico.
Para este caso, solo necesitamos comparar los últimos dos números (t1). La suma de ) y n.
Si t1Imprimir t menor o igual que n1。