这个代码哪里出错了?

img


为什么是输出一直是0啊?不管输入第几项都是0?程序我感觉看上去还正确啊

 public static void main(String[] args) {
        int n ;
         System.out.print("请输入想要求斐波那契的第几项: ");
        int sum=0;
        Scanner reader=new Scanner(System.in);
        n=reader.nextInt();
        int [] fibonacci = new int [n];
        fibonacci[0] = fibonacci[1] = 1;
        for(int i = 2;i < fibonacci.length;i++)
        {
            fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
        }

        System.out.println("斐波那契的第"+n+"项是"+fibonacci[n-1]);

    }

把20行输出语句放到for循环里面啊
你放到外面的话,这个i已经等于n了,而数组的第n的元素并没有计算结果啊,自然就是0了。只有0到n-1才有数列值啊
你如果只是想得到最后一项值,那么20行输出的应该是第i-1项,不是第i项。或者是n-1项