Meh*_*hdi 1 java recursive-query
我想使用递归方法但是无法使其正常工作.
例如,在这个程序中,为什么当我显示我的时候b,值是0而不是10?
public static void main(String[] args) {
int a = 0;
int b = recursivMethod(a);
System.out.println(b);
}
static int recursivMethod(int a)
{
if(a != 10)
recursivMethod(a+1);
return a;
}
Run Code Online (Sandbox Code Playgroud)
问题是,当您以递归方式调用该方法时,您不会返回该值.也就是说,你recursivMethod正确调用,但然后立即返回初始值a.试试这个:
public static void main(String[] args) {
int a = 0;
int b = recursivMethod(a);
System.out.println(b);
}
static int recursivMethod(int a)
{
if(a != 10)
return recursivMethod(a+1); //here, you return the result of your recursive call
return a; //instead of just immediately returning a, which should only be done only after a == 10
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |