Java中的递归[已关闭]

c8ib6hqw  于 2023-02-11  发布在  Java
关注(0)|答案(1)|浏览(133)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

7小时前关闭。
这篇文章是6小时前编辑并提交审查的。
Improve this question
我从Java中的递归开始,我遇到了一个计数器的问题,我想打印从1到number的所有数字,但是它只打印i的值。i在类的开始被定义为'inti = 1;“
我试过

  • i〉=数量
  • 数量〉=i
  • i〉=1
  • 数量〉=0
  • 数量〉=1
  • 数量〉0
  • 数量〉1

摆脱i之后,我还尝试了:

public static void ContadorCreciente(int number){
   if(i<=number){
      System.out.println(i);
      ContadorCreciente(i++);
   }
}

但现在,这是我目前为止写的

public static void ContadorCreciente(int number){
        if(number>1){
            ContadorDecreciente(number-1);
            System.out.println(number);
        }
    }
5n0oy7gb

5n0oy7gb1#

好的,你用一个参数来实现ContadorCreciente,递归的,所以你要用number+1或者number-1来再次调用它,对于+1变量你没有办法阻止它,它会一直向上,所以这是不好的,递归调用必须用-1。
递归可以在ContadorCreciente(0)处停止,而ContadorCreciente(0)本应该什么也不做。我相信你可以找到如何什么也不做并立即返回。
归纳法:
假设我们已经有了ContadorCreciente(number-1),它可以打印所有的数字1..number-1,你将如何使用这样一个函数来实现ContadorCreciente(number)的情况?

相关问题