配列が別のより大きな配列のサブセットであるかどうかを判断する何かを書くように頼まれました。より単純な問題から始めて、文字が文字の配列に存在するかどうかを判別する関数を作成することにしました。私はこのコードを思いついた:
private static boolean findSequenceRecHelper(char [] findIn, char c, int index) {
boolean result = false;
if(index<findIn.length) {
if(findIn[index] == c) {
result = true;
}
else {
findSequenceRecHelper(findIn,c,index+1);
}
}
return result;
}
いくつかのデバッグを行ったところ、関数がchar[]
配列全体を反復処理し、配列内の要素が目的の値に等しくなると、にresult
変わることがわかりましたtrue
。しかし、再びそれはに変わり、false
実際false
に返されますが、これは正しくありません。
ここでエラーを見つけることができません-誰かがこの問題について私を助けてくれますか?