关于递归的问题,急急急~~~~

LBreathy LBreathy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
小弟做了一个递归的题,就是求次幂的,当幂数为负数的时候,通过调试功能和一些输出项了解下递归的原理,但是看的迷茫了,请各位大侠给小弟指点下迷津:
代码如下:

public class DemoVertical {
double count=0;
int num=1;
int num1=1;
int num2=1;
int num3=1;
public double power(double x,double n)
{
System.out.println("这是第"+num+"次进入power的方法");
num++;
if(n<0)
{
System.out.println("这是第"+num3+"次进入n<0的if分支语句中");
System.out.println("这是第"+num3+"次进入n>0的时候n的值为:"+n);
System.out.println("这是第"+num3+"次进入n>0的时候(-(n+1))的值为:"+(-(n+1)));
count=1/(power(x,-(n+1))*x);
System.out.println("这是第"+num3+"次进入n>0的时候count的值为:"+count);
num3++;
}
if(n>0)
{
System.out.println("这是第"+num1+"次进入n>0的if分支语句中");
System.out.println("这是第"+num1+"次进入n>0的时候n的值为:"+n);
System.out.println("这是第"+num1+"次进入n>0的时候(n-1)的值为:"+(n-1));
num1++;
count= power(x,n-1)*x;
System.out.println("这是第"+num1+"次进入n>0的时候count的值为:"+count+" n的值为:"+n);
}
if(n==0)
{
System.out.println("这是第"+num2+"次进入n=0的if分支语句中");
System.out.println("这是第"+num2+"次进入n=0的时候n的值为:"+n);
num2++;
count=1;
}

return count;
}
public static void main(String[] args)
{
DemoVertical dv=new DemoVertical();
System.out.println(dv.power(2, -3));
System.exit(0);
}







就是想知道原理,这会是真的非常非常的糊涂!!!!
大侠们帮帮忙吧!!!
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
LBreathy
Java SE 62,620 成员 307,251 内容