因此,我在遞歸的最後部分賦值時遇到了一些麻煩。該方法需要使用遞歸來返回一個由「編織」兩個字符串形成的字符串,並將兩個字符串作爲參數。例如:組合使用遞歸的字符串
weave("aaaa", "bbbb") // should return the string "abababab"
weave("hello", "world") // should return the string "hweolrllod"
weave("recurse", "NOW") // should return the string "rNeOcWurse"
請注意,第一個字符串中的額外字符 - 「urse」中的字符 - 在編織在一起的字符後面。
重要的(和令人討厭的)是我不允許使用任何迭代循環(for,while,do while)。
這裏是我的代碼至今:
public static String weave(String str1, String str2)
{
String word = str1 + str2;
if(str1 == null || str1.equals("") || str2 == null || str2.equals(""))
{
return word;
}
String word1 = weave(str1.substring(0, str1.length() - 1), str2.substring(0, str2.length() - 1));
System.out.println(word1);
return word;
}
對於(你好,世界),我的輸出是:
HW
HeWo
HelWor
HellWorl
HelloWorld
顯然,我的字符不織布,所以我不知道該怎麼辦!另外,如上所述,該方法不應該打印。我只是在println
聲明中添加了一個測試,以查看我的程序在哪裏。
告訴你的輸出*應該*看起來像 – 2012-04-03 18:20:34
@LiviuT。他們確實在例子的開頭說明預期的最終結果。 – 2012-04-03 18:22:37
@LiviuT。查看第一個代碼塊的評論。 – 2012-04-03 18:23:49