java - 逐行打印数字的递归方法

标签 java methods recursion numbers integer

我应该使用递归方法垂直打印出数字的数字。

例如,如果我输入 13749,输出将是:

1
3
7
4
9

我该如何回答这个问题?它还指出我应该使用 if/else 方法来检查基本情况。我刚刚开始学习 java,但我不太擅长:(

import java.util.Scanner;

public class test2 {
  public static void main (String [] args){
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter a positive integer: ");
    int n = sc.nextInt();
    System.out.println();
    System.out.println(numbers(n));  

  } 

public static int numbers(int n){
  int sum;
  if (n == 0) {
    sum = 1;
    } else {

     System.out.println(n%10);
     sum = numbers(n / 10) + (n % 10);


    }
  return sum;
  }      
}

最佳答案

这是我的 C++ 代码

只需将其修改为 Java 即可。您需要在调用函数后显示数字,这样您首先显示最后一个数字...根据 s.ts 的答案

void recursive(int n) {
    if (n < 10)
        cout << n << endl;
    else
    {
        recursive(n / 10);
        cout << n % 10 << endl;
    }
}

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

相关文章:

javascript - Eloquent Javascript Book 第 5 章关于递归和祖先的示例

javascript - 如何估计javascript调用堆栈的最大大小?

java - 如何使通用快速排序方法对数组列表中的对象正确运行

c++ - 编译器无法将指向字符串文字的指针解释为方法的参数

java - 如何更好地重构可以在 java 中返回 null 的方法链?

c# - 获取当前方法名称

java - 在Java中,相同类型但不同类型参数的空集合总是相等吗?

java - 关于对象生命周期的问题

java - 如何获取当前文件当前行的Git提交信息

recursion - 如何在 LISP 中将列表作为参数传递给 defun? (递归地)