【发布时间】:2018-03-14 01:56:28
【问题描述】:
我正在研究数据结构问题。下面列出了任务和我目前所做的。
import java.util.Scanner;
import java.util.Random;
/**
* Recursive methods for fun & profit
*
* @author (your name)
* @version (a version number or a date)
*/
public class DSLab2
{
/**
* Prints 2 lines of text for each recursive call, indicating call number
* (a value >= 1, and <= value of numCalls, as illustrated below. Each
* level of recursion should be indicated by indenting the input line by
* r spaces. For example, if numCalls is 3, the method should print:
* call 1
* call 2
* call 3
* back 3
* back 2
* back 1
* @param r the level of method calls
* @param numCalls the number of intended levels
*/
public static void stairSteps (int r, int numCalls)
{
System.out.println("call "+r);
System.out.println("back "+r);
}
我尝试了以下方法,但它只输出了阶梯要求的下半部分。我无法弄清楚如何递归调用该方法,以便在每次调用 without them being next to each other 中打印两行。
public static void stairSteps (int r, int numCalls)
if(numCalls>0)
{
for ( int i = 0; i <numCalls ; i++){
System.out.print(" ");
}
System.out.println("back " + r);
stairSteps(r-1, numCalls-1);
}
else
return;
有什么建议吗?
【问题讨论】:
标签: java recursion recursive-datastructures