Java 递归数列

Java 递归数列,java,recursion,sequence,Java,Recursion,Sequence,我想制作一个程序来输出这个数字序列:(2),(5),(11),(23),… 其中席=2×XI—1+1,X0=2。 这是我的密码: public static int num(int n){ if(n <= 0) return 2; else return ((2 * 2)+1); } publicstaticintnum(intn){ 如果(n很好地看到了您希望它是递归的,那么让我们使它递归

我想制作一个程序来输出这个数字序列:(2),(5),(11),(23),…
其中席=2×XI—1+1,X0=2。

这是我的密码:

    public static int num(int n){
        if(n <= 0)
            return 2;
        else
            return ((2 * 2)+1);

    }
publicstaticintnum(intn){

如果(n很好地看到了您希望它是递归的,那么让我们使它递归

public static int num(int n){
    if(n <= 0)
        return 2;
    else
        return (2 * num(n-1))+1; //Recursive call here
}

return((2*num(n-1))+1);
检查您返回的内容,您应该在那里使用
n
所以
return((2*2)+1);
应该是
return((2*num(n-1))+1);
@AnandShah谢谢,谢谢您的解释:)
public static void main(String[] args){
    for(int i = 0; i < 10; i++){
        System.out.println("num(" + i + ")=" + num(i));
    }
}
num(0)=2
num(1)=5
num(2)=11
num(3)=23
num(4)=47
num(5)=95
num(6)=191
num(7)=383
num(8)=767
num(9)=1535