十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)java實(shí)現(xiàn)斐波那契數(shù)列的方法,以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

斐波那契數(shù)列指的是:數(shù)列的后項(xiàng)等于前兩項(xiàng)的和,代碼中我們用a[i]=a[i-1]+a[i-2]實(shí)現(xiàn)。
典型兔子生小兔問題
古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì),假設(shè)每對(duì)小兔子都不死,編程實(shí)現(xiàn)求每個(gè)月兔子對(duì)數(shù)。
代碼示例:
核心代碼,斐波那契數(shù)列(后項(xiàng)等于前兩項(xiàng)的和):
public static void getTuTu(int[] tutu, int n) {
if (n == 1) {
System.out.println("第一個(gè)月兔子對(duì)數(shù)為1");
} else if (n == 2) {
System.out.println("第二個(gè)月兔子對(duì)數(shù)為1");
} else {
tutu[0] = 1;
tutu[1] = 1;
System.out.println("第1個(gè)月兔子對(duì)數(shù)為1");
System.out.println("第2個(gè)月兔子對(duì)數(shù)為1");
for (int i = 2; i < n; i++) {
tutu[i] = tutu[i - 1] + tutu[i - 2];//數(shù)組記錄兔子對(duì)數(shù)
System.out.println("第" + (i + 1) + "個(gè)月的兔子對(duì)數(shù)為" + tutu[i]);
}
}
}完整代碼:
package day191125;
import java.util.Scanner;
public class TuZi {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("=========");
System.out.println("輸入求第幾個(gè)月的兔子:");
int n = input.nextInt();
if (n <= 0) {
System.out.println("輸入錯(cuò)誤重新輸入");
continue;
}
int[] tutu = new int[n];
getTuTu(tutu, n);
}
}
public static void getTuTu(int[] tutu, int n) {
if (n == 1) {
System.out.println("第一個(gè)月兔子對(duì)數(shù)為1");
} else if (n == 2) {
System.out.println("第二個(gè)月兔子對(duì)數(shù)為1");
} else {
tutu[0] = 1;
tutu[1] = 1;
System.out.println("第1個(gè)月兔子對(duì)數(shù)為1");
System.out.println("第2個(gè)月兔子對(duì)數(shù)為1");
for (int i = 2; i < n; i++) {
tutu[i] = tutu[i - 1] + tutu[i - 2];
System.out.println("第" + (i + 1) + "個(gè)月的兔子對(duì)數(shù)為" + tutu[i]);
}
}
}
}運(yùn)行結(jié)果圖:
上述就是小編為大家分享的java實(shí)現(xiàn)斐波那契數(shù)列的方法了,如果您也有類似的疑惑,不妨參照上述方法進(jìn)行嘗試。如果想了解更多相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊。