Java初学者问题:可以在自身内部调用方法吗?

问题描述

| 我今天考试了,有一个问题我真的记不清确切的代码了。 但是我确实记得在ѭ0里面有一行在方法内部调用方法本身。 我想知道自己内部可以调用一种方法吗?因为这是一个选择题,所以他们希望我们找到输出。 希望我的问题清楚。 谢谢SOF :)     

解决方法

        当然可以。当您这样做时,它称为递归。注意退出条件,否则将导致堆栈溢出。 例如
int iAmRecursive(int num) {
   if (num > 10) // break out at some condition; i.e. don\'t recurse
       return num; // return so the recursion doesn\'t continue

   iAmRecursive(num + 1); // I didn\'t break out,so continue to recurse.
}
编辑-这是相同的示例,但具有不同的突破,以称赞@Ted \的评论
int iAmRecursive(int num) {
   if (num <= 10) // only continue under certain condition
       iAmRecursive(num + 1); 

   // When I get here,I implicitly break out by not recursing.
}
但是我希望始终尽可能地明确,因此,如果可能的话,我将像第一个示例一样明确地突围。     ,        递归的一个很好的例子是一种计算阶乘的方法。
public static long factorial(int i)
{
    if (i == 1) return 1;
    return factorial(i - 1) * i;
}
然后像这样简单地调用它:
long f = factorial(10); // equals 10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 (* 1)
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...