入力シーケンスのすべての可能な出力文字列を出力する再帰コードに取り組んでいました。簡単にするために、問題を短くします。String[]
配列があります。[0]
単語の可能なすべての組み合わせを、一度に1文字だけを[N]
考慮して印刷したいと思いますString
。例:String[] a = {"abc", "def", "ghi"}
印刷する必要がありますこれadg, adh, adi, aeg.. etc
が私の再帰コードです:
void printLetters(String[] list, int count, String result)
{
if(list == null)
return;
if(count > list.length-1)
{
System.out.println(result);
return;
}
for(int i = 0; i<list[count].length(); i++)
{
printLetters(list, count++, result + list[count].charAt(i) + "");
}
}
を取得しているときに、コードが無限ループに陥っていStackOverflowError
ます。誰かが私の間違いを指摘できますか?