作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想格式化我的 Java 程序输出,以便我可以看到递归的“深度”。怎么做?不要迷失在我的递归树中是非常重要的。
示例输出(用于从 0 开始计算第 n 个数字的简单递归函数):
This is the first recursive call. Input value: 3.
This is the second recursive call. Input value: 2.
This is the 3rd recursive call. Input value: 1.
Output value : 1.
This is again the second recursive call. Input value: 2.
Output value : 1 + 1.
This is again the first recursive call. Input value: 3.
Output value : 1 + 1 + 1.
最佳答案
您可以使用代表您有多深的变量(如 level
)。它从 1 开始,并在每次递归调用时递增。
public static void main(String[] args) {
function(3, 1);
}
public static String function(int input, int level) {
String tab = "";
for (int i = 0; i < level - 1; i++) {
tab += "\t";
}
System.out.println(tab + "This is the " + level + " recursive call. Input value: " + input);
if (input == 1) {
System.out.println(tab + "Output value: 1");
return "1";
}
String output = function(input - 1, level + 1);
System.out.println(tab + "This is again the " + level + " recursive call. Input value: " + input);
System.out.println(tab + "Output value: " + output + " + 1");
return output + " + 1";
}
关于java - 递归深度 - Java 中的制表符和凹痕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507978/
我是一名优秀的程序员,十分优秀!