如何打印出递归方法?

时间:2015-11-15 17:34:05

标签: java recursion

public class RecursionPracticeProgram {
    KeyboardReader reader = new KeyboardReader();

public String backString(String s){
    s = reader.readLine("String: ");
    if(s.length()==0)
        return s;

    System.out.println(backString(s.substring(1)) + s.charAt(0));   

    return backString(s.substring(1)) + s.charAt(0);


} 

public void run(){
    backString("Fox");
}

我正在做一些递归工作,但是在打印出来时遇到了麻烦。我认为我有正确的代码来反转一个字符串但是当我去运行程序时它只是构建并且实际上并没有打印出任何东西。如何正确打印出来?

1 个答案:

答案 0 :(得分:0)

您需要确保只阅读一次,然后根本调用您的方法。 就这样做:

public class RecursionPracticeProgram {
  public void run() {
    String input = reader.readLine("String: ");
    KeyboardReader reader = new KeyboardReader();
    System.out.println(reader.backstring(input));
  }

  public String backString(String s){
    if(s.length()==0)
        return s;
    System.out.println(backString(s.substring(1)) + s.charAt(0));   
    return backString(s.substring(1)) + s.charAt(0);
  }
}