【发布时间】:2012-02-27 11:48:56
【问题描述】:
作为练习,下面的代码块打算递归地遍历一个字符串并删除所有的“x”字符。它会这样做,但我想跟踪 newStr 而不将它作为方法中的参数传递。有没有办法把它移到方法体中?
谢谢!
public static String deathToX(String str, String newStr) {
//look for x char
if(str.substring(0, 1).equals("x")) {
//do nothing
} else {
//add non-x char to newStr
newStr += str.charAt(0);
}
if(str.length() == 1) {
return newStr;
}
return deathToX(str.substring(1), newStr);
}
public static void main(String[] args) {
System.out.println("Return: " + deathToX("xnoxmore", ""));
}
【问题讨论】:
-
这是家庭作业吗?如果您解决问题的方法不受限制,有许多更简单、更有效的方法可以做到这一点。
-
不,不是作业。我只是想练习编写递归方法,所以限制是自我强加的。虽然我知道如果我不把它写成递归方法,这是一个更容易解决的问题。
标签: java methods recursion character