首先呢,我们需要知道斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
代码与注释如下:
package test1;import java.util.Scanner;public class fbnq1 { public static void main(String[] args) {Scanner scn=new Scanner(System.in);System.out.println("请输入项数n");int n=scn.nextInt();int value=-1;int one=0;int two=0;for(int a=1;a<=n;a++) {if(a==1) {value=0;}if(a==2) {value=1;}if(a>2) {two=one;one=value;value=one+two;}System.out.print(value+" ");}} }
这里如果有if(a>2)后面看不懂的话我举个栗子
斐波那契数列:0,1,1,2,3,5,8,13,21等等,从a>2中拿出4个数,1,2,3 ,5
1、当value=3,one=2, two=1
2、当value=5,one=3,two=2
此时的two=one=2,one=value=3,这也就是if(a>2){two=one;
one=value;}