带有递归方法的嵌套缩进输出

我有一个使用递归方法打印出多行的赋值,每行前面有3个空格。 这是所需输出的图片( http://sofzh.miximages.com/java/mek2QMz.png )。

这是我到目前为止的代码:

public class Prog6d { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int input = scan.nextInt(); System.out.println(printFactorial(input)); } //Calculates the factorial public static int printFactorial(int input) { if (input == 1) { return 1; } System.out.println("factorial(" + input + ")"); System.out.print(" "); return input*printFactorial(input-1); } } 

我知道如何使用for循环使空格正确显示,但我不知道如何使用递归来完成此操作。

我经常这样做。 我有两个基本方法,相关:

  1. 创建一个全局字符串变量缩进 ,初始化为空字符串。 进入该function后,将其延长三个空格。 离开时,将其缩短到之前的长度。
  2. 添加参数缩进 。 初始调用是一个空字符串; 每个递归将三个空格连接到值。

在每种情况下,我只是使用缩进作为在线上打印的第一件事。

这会解决你的问题吗?