我正在尝试使用递归方法编写一个程序,该程序将对给定的字符串“Sluggo”执行以下操作。
Please enter a string: Sluggo
Sluggo
Slugg
Slug
Slu
Sl
S
luggo
lugg
lug
lu
l
uggo
ugg
ug
u
ggo
gg
g
go
g
o
到目前为止,这是我的程序:
import java.util.Scanner;
public class RecursiveDescentParser {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("Please enter a string: ");
String s = input.next();
chopBack(s.substring(0));
chopBack(s.substring(1));
chopBack(s.substring(2));
chopBack(s.substring(3));
chopBack(s.substring(4));
chopBack(s.substring(5));
}//end of main
public static String chopBack(String str)
{
if (str.length() == 0)
return "";
else
System.out.println(str.substring(0, str.length()));
return chopBack(str.substring(0, str.length() - 1 ));
}
}
我知道这是不对的,因为我需要写一些类似于双递归方法的东西。只是想知道我应该从这一点去哪里?我还编写了一个从字符串前面删除 char 的方法。在这一点上,我不太确定如何将两者联系在一起哈哈。