【发布时间】:2026-02-03 23:05:01
【问题描述】:
我试图通过使用字符串函数来更好地理解递归特性。我正在尝试创建一个函数,该函数一次递归打印一个字符,直到堆栈到达字符串的末尾。例如,输入如下所示:
String str = "Hi";
//Output:
H
i
我一直在练习使用 Int 函数进行递归,并且一直在慢慢尝试使用 String 函数来简化理解递归的方式。我对如何准确调用函数来增加或减少感到困惑。借助 Int 函数,使用这种方法很容易。
int function(int N){
return function(N+1);
}
这是我当前的代码。
String str = "Hi";
public String forward(String str){
if(str.equals(null) || str.length()<2) return str;
System.out.println(str.charAt(0));
return forward(str.substring(0, str.length()-1));
}
预期的输出应该是:
H
i
但是当前的输出是:
H
H
感谢您的时间和耐心,非常感谢您提供任何帮助或指导。
【问题讨论】:
-
小心你如何应用递归。像任何工具一样,它有特定的用途,在错误的地方使用它会导致问题。如果您想尝试递归,请使用递归问题,例如二叉树。打印字符串是递归的可怕应用。