int index = 0;
String str = "hello";
String sFinal = add(str,index);
System.out.println(sFinal);
}
public static String add (String str, int index){
String sNew = "";
if (index == str.length()){
return sNew;
}
else{
sNew+= str.charAt(index);
}
return add(str,index+=1);
}
我要做的就是使用递归函数循环遍历字符串中的每个字符并将其添加到空字符串
答案 0 :(得分:1)
你的字符串sNew
是本地变量,每次调用add
函数时它都被设置为空字符串,这不会给出你是上一次迭代中sNew
的值。您可以按照以下方式修改它:
public static void main(String[] args) {
int index = 0;
String str = "hello";
String sFinal = add(str, "", index);
System.out.println(sFinal);
}
public static String add (String str, String sNew, int index){
if (index == str.length()) {
return sNew;
}
else{
sNew += str.charAt(index);
}
return add(str, sNew, index + 1);
}
答案 1 :(得分:0)
虽然构建字符串是一种奇怪的方式,但我认为你想要这样的东西:
public static String add (String str, int index)
{
// Terminate recursion
if (index == str.length()) return "";
// Build recursively
return str.charAt(index) + add(str, index + 1);
}