如果给我们的数字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/