如图,一个函数的递归写法,请用java,

递归能理解 但是自己一写就报错,也没有正确答案可以看,看各位的了

img

public static int fun(int x, int n) {
        if (n == 0) {
            return 1;
        }
        if (n == 1) {
            return 2 * x;
        }
        if (n > 1) {
            return 2 * x * fun(x, n - 1) - 2 * (n - 1) * fun(x, n - 2);
        }
        return 0;
    }