我应该首先说这里有类似的问题,但是对于我正在进行的任务,我不能使用任何循环,所有这些问题的答案都使用循环。因此,使用java 6和recursion生成给定字符串的所有子字符串。例如你给定的String word =Ralph;我需要输出格式如下。
I should start off by saying there are similar questions asked here but for the assignment i am on i cannot use any loops and all the answers to these questions use loops. So Use java 6 and recursion to generate all the substrings of a given string. For example your given String word = "Ralph"; i need the output to be formatted like this.
Ralph Ralp Ral Ra R alph alp al a lph lp l ph h这是我的生成方法
//written by Justin Tew<BR> public static void generate(String word) { //base case... wtf is the base case here? //idk bout this if (word.length() == 1) { System.out.println(word); return; } //recursive case if (word.length() != 0) { System.out.println(word); generate(word.substring(0, word.length()-1)); //gets the first 5 substrings }输出:
Ralph Ralp Ral ra r在我看来这个调用,生成(word.substring(1,word.length() - 1)); 应该得到接下来的5但它不会得到非常奇怪的输出...
In my mind this call, generate(word.substring(1, word.length()-1)); should get the next 5 but it doesn't it gets very weird output...
任何想法?
推荐答案这两个答案都非常正确。我刚刚添加了一个名为 suffixGen的新方法:
Both the 2 answers were pretty much right. I just added a new method called suffixGen:
public static void suffixGen(String word) { if (word.length() > 1) { generate(word); suffixGen(word.substring(1)); } }在我的主要部分我只是打电话 suffixGen 而不是生成,它会得到我想要的结果。
and in my main I just call suffixGen instead of generate and it gets me the desired results.
更多推荐
使用递归生成给定字符串的所有子字符串
发布评论