这是AP计算机科学中的问题。
public void doSomething(int value)
{
if(0 < value && value < 10)
{
doSomething(value – 1);
doSomething(value + 1);
System.out.print(" " + value);
}
}
通过调用doSomething(4)会打印以下哪些内容? 的 A 即可。 4 3 2 1 5 6 7 8 9 的乙即可。 4 3 5 2 6 1 7 8 9 C 即可。 9 8 7 6 5 1 2 3 4 的 d 即可。 9 8 7 1 6 2 5 3 4 电子即可。由于无限递归,不会打印任何内容
当我正在制定解决方案时 - 对我来说似乎是无限递归。这是正确的吗?获得解决方案的最快方法是什么,因为每次多项选择的时间不到2分钟。 获得最快速方法的任何帮助都会有所帮助。
这个问题应该是手工追踪的。您无法运行代码来检查答案。
答案 0 :(得分:2)
由于无限递归,您的问题会生成StackOverflow
。下次你应该亲自试试。
答案 1 :(得分:0)
它是无限递归,因为值总是递减并增加1。