我用递归出现了错误在public static void main(String[] args)

Exception in thread "main" java.lang.Error: Unresolved compilation problem

说我的第三行有问题,能帮我看看吗

import java.util.Scanner;

public class Lab2{

    public static void main(String[] args) {

        Scanner a = new Scanner(System.in);

        System.out.println(strawberry(a.nextInt()));

    }

    public static int strawberry(int num){

        int sum;

        if(num == 0)

        sum = 1;

        if(num == 1)

        sum = 2;

        else

        sum = 3*strawberry(num-1)+4*strawberry(num-2);

        return sum;

    }

}

nextInt() 没有等待输入,九直接说输入缓存没有数据了。不知道为什么。

 

https://docs.oracle.com/javase/8/docs/api/java/util/Scanner.html#nextInt-int-

strawberry方法第二个if判断语句改成else if(num==0)再看看

/**
     * 参考如下修改点即可
     * @param args
     */
    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        System.out.println(strawberry(a.nextInt()));
    }

    public static int strawberry(int num) {
        int sum;

        // 递归出口修改
        if (num < 0)
            sum = 0;
        else if (num == 0)
            sum = 1;
        else if (num == 1)
            sum = 2;
        else
            sum = 3 * strawberry(num - 1) + 4 * strawberry(num - 2);
        return sum;
    }

效果图: