Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 整数上下递归计数_Java_Recursion - Fatal编程技术网

Java 整数上下递归计数

Java 整数上下递归计数,java,recursion,Java,Recursion,我今天收到了这个任务,我有点被它卡住了 这是作业中所说的: 编写一个名为recursiveUpAndDown的方法,该方法接受一个非负整数参数,递归地从零开始,打印从零到参数的所有整数,也就是说,打印0、1、2等。一直到参数,然后递归地从整数参数开始,打印从参数到零的所有整数,即,将参数、参数-1、参数-2等一直打印到0 我能够写代码,写代码的时候先倒计时,然后再倒计时,但不能做倒计时。这是我写的代码 class myCounter{ static void recursiveDown

我今天收到了这个任务,我有点被它卡住了

这是作业中所说的:

编写一个名为recursiveUpAndDown的方法,该方法接受一个非负整数参数,递归地从零开始,打印从零到参数的所有整数,也就是说,打印0、1、2等。一直到参数,然后递归地从整数参数开始,打印从参数到零的所有整数,即,将参数、参数-1、参数-2等一直打印到0

我能够写代码,写代码的时候先倒计时,然后再倒计时,但不能做倒计时。这是我写的代码

class myCounter{

    static void recursiveDownAndUp(int i)
    {

        if (i < 1)       

        return;

        else
        {
            System.out.printf("%d ",i);
            recursiveDownAndUp(i-1); // recursive call
            System.out.printf("%d ",i);
            return;
        }

    }

    public static void main(String[] args)
    {

        recursiveDownAndUp(10);
    }

}

我们不允许使用2个参数,一个辅助方法或一个全局变量。我知道这似乎很难,至少对我来说是这样,但教授说这是可行的

我们不允许使用两个参数,一个辅助方法或一个全局变量。Q:是否允许使用返回值?如果为非负,是否包含零?@paulsm4是返回值为零fine@EmbodimentofIgnorance是的,我相信soSo为0,我们是否只打印0?
static String recursiveUpAndDown(int n) {
    if (n < 0) return "";
    String x = recursiveUpAndDown(n - 1);
    System.out.print(n + " ");
    return n + " " + x;
}

public static void main(String[] args)
{
    System.out.print(recursiveUpAndDown(10));
}