java - 递归数字打印

标签 java recursion

如果给我们的数字5,需要像1,2,3,4,5一样在控制台打印出来,这个需要递归完成。 (Java 最好)

万一有人想知道这些不是家庭作业问题。我正在练习一周后的期中考试。

抱歉没有发布我的作品。我正在做类似下面的事情:但对在哪里打印其余数字以及如何停止使用 (n - 1) 递归调用该方法感到困惑。雅各布在他的帖子中帮助了我。感谢所有提供帮助的人。

public void writeNums(int n) {
    if (n < 1)
        throw new IllegalArgumentException();
    if (n == 1) {
        System.out.print("1, ");
    }
    writeNums(n - 1);

最佳答案

我们不会为您编写代码,但递归的工作方式是您有一个调用自身的函数,传递一些随每次调用而变化的参数。它需要处理函数做某事但不再需要调用自身的“基本情况”,还需要处理函数既做某事又调用自身来完成任何需要完成的“一般情况”。所以:

function printNumbersUpTo( current )
    if current is 1, print 1 and return. //base case
    otherwise, call printNumbersUpTo( current - 1), then print current, and return. //general case

关于java - 递归数字打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078630/

相关文章:

Java简单数字游戏当EditText为空时应用程序崩溃

java - 使用递归反向双链表

c - 如何在c中递归地将字符串反转为空字符串

C++递归合并排序传递指针导致零

java - 在 Java 中使用泛型和抽象数据类型

java - 在abstractmap类内部,为什么remove()不显示UnsupportedOperationException?

algorithm - 国际象棋 - 在防止检查时避免无限递归

javascript - 这个递归函数如何改变 'history' 变量?

java - 二维数组,对 Null 元素使用 get 方法,有一个优雅的解决方案吗?

java - 在 webapp 中使用 JExcel Api 时,Tomcat 7 在启动时崩溃