use*_*043 1 java recursion integer
我只是学习递归而我是以相反的顺序打印输入数组(不使用任何String或Character方法).
例如,4295
将显示为5924
.
public static void method_c(int n) {
if (n > 0) {
System.out.println(n % 10);
n /= 10;
}
Run Code Online (Sandbox Code Playgroud)
有这个代码但它只返回5
,所以我猜它不会通过做递归回来.我认为它可能是放置n /= 10
,但只改变了返回的数量.
我如何修复它以返回打印整个整数?
Bat*_*tty 11
递归的基础是从内部再次调用相同的方法,这是缺少的.
public static void method_c(int n)
{
if (n > 0)
{
System.out.print(n % 10);
n /= 10;
method_c(n);
}
}
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题.