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