私は約5000回まで自分自身を呼び出す関数を書いています。もちろん、私はStackOverflowError
. このコードをかなり簡単な方法で書き直す方法はありますか?:
void checkBlocks(Block b, int amm) {
//Stuff that might issue a return call
Block blockDown = (Block) b.getRelative(BlockFace.DOWN);
if (condition)
checkBlocks(blockDown, amm);
Block blockUp = (Block) b.getRelative(BlockFace.UP);
if (condition)
checkBlocks(blockUp, amm);
//Same code 4 more times for each side
}
ところで、関数を呼び出すことができる深さの制限は何ですか?