3
我有一个赋值使用递归方法来输出多行,每行比前一行多3个空格。这里是所需输出的图片(http://i.imgur.com/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循环,但我不知道如何用递归来做到这一点。
我会推荐第一种方法的第二种方法,因为如果避免使用全局变量,您可以节省很多头痛的调试程序。如果您将呼叫设为尾递归,则参数化版本应该同样有效。 – Davislor