一道Java题目,如下,为什么我的代码错误了?

题目描述

斐波纳契数列

1,1,2,3,5,8,13,21,34,55,89……这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。

输入

一个整数N(N不能大于40),N>=1 且
N<40

输出

由N个“斐波纳契数”组成的“斐波纳契数列”。

第一个数前没有空格,其他数前都有一个空格,最后一个数之后没有空格。

样例输入

6

样例输出

1 1 2 3 5 8

import java.util.Arrays;

import java.util.Scanner;

public class ff {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n,i = 2;
n=cin.nextInt();
if(n>=1&&n<40){
int b[]=new int[n];
b[0]=1;
b[1]=1;
while( i>=2&&i<n){
b[i]=b[i-1]+b[i-2];
i++; }
for(i=0;i<b.length-1;i++)
System.out.print(b[i]+" ");
System.out.print(b[b.length-1]);

}}}

import java.util.Arrays;
import java.util.Scanner;
public class ff {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System. in );
        int n, i = 2;
        n = cin.nextInt();
        cin.close();
        if (n == 1) {
            System.out.print(1);
        } else if (n >= 2 && n < 40) {
            int[] b = new int[n];
            b[0] = 1;
            b[1] = 1;
            while (i >= 2 && i < n) {
                b[i] = b[i - 1] + b[i - 2];
                i++;
            }
            for (i = 0; i < b.length - 1; i++) {
                System.out.print(b[i] + " ");
            }
            System.out.print(b[b.length - 1]);
        } else {
            System.out.println("一个整数N(N不能大于40),N>=1 且 N<40");
        }
    }
}

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜