递归!我正在创建一个重新计算然后减少到一定数量的方法,但是我一直陷入无限循环

时间:2017-11-28 14:26:35

标签: java recursion

所以,我目前正在使用递归创建一个赋值方法。我需要取一个int,然后打印下来,直到它达到0.然后,我需要打印直到它达到原始数字,然后停止。到目前为止,这是我的代码。

 public static void recursivePrinter(int levels)
{
   final int start = levels;

    if (levels < start ) {
        System.out.println("Going up! " + levels);
        recursivePrinter(levels + 1);
    }
    else {
        System.out.println("Going down! " + levels);
        recursivePrinter(levels - 1);
    }
    return;
}

1 个答案:

答案 0 :(得分:1)

你没有得到回报;声明。代码总是在else语句中。跟踪可以使用全局变量的起始编号。你还需要添加递归应该完成的条件。所以你可以试试这样的事情:

static int start = 10;


     public static void recursivePrinter(int levels)
         {


             if (levels < start ) {
                 System.out.println("Going up! " + levels);
                 recursivePrinter(levels + 1);
             }
             else {
                 System.out.println("Going down! " + levels);
                // recursivePrinter(levels - 1);
                 start-- ;
             }
             return;
         }