【发布时间】:2012-08-04 03:11:47
【问题描述】:
代码设计 1:完美运行
public static void main (String[] args)
{
recursion(2);
}
public static void recursion(int num)
{
if (num > 0)
{
recursion( num - 1 );
System.out.println(num);
}
}
代码设计 2:无限循环。 ?
public static void main (String[] args)
{
recursion(2);
}
public static void recursion(int num)
{
if (num == 0) return;
while (num > 0)
{
recursion( num - 1 );
System.out.println(num);
}
}
- 谁能帮我理解为什么第二个设计越来越 进入无限循环?
- 我已经在第二个设计中加入了退货。所以它应该工作 美好的。能否请您详细解释一下?
【问题讨论】:
-
为什么这些答案中的大多数都被否决了?有 6 个答案基本相同。
-
非常感谢大家。我想我得到的答案是我从所有这些帖子中得到的输入的组合。 1. 使用 if 循环 - 它调用 recursion(2)-->Recursion(1) 然后结束。 2) 使用 while 循环 - 它调用递归 2 --> 递归 1。现在递归 1 运行 system.out 但不运行进行递归调用并一直运行 while 循环。
-
好。我也添加了解释。并接受对您最有帮助的答案。
-
没有“if循环”这样的东西。
-
抱歉,我的意思是 if 语句。
标签: java recursion if-statement while-loop infinite-loop