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

LBreathy 2009-10-13 06:40:54
小弟做了一个递归的题,就是求次幂的,当幂数为负数的时候,通过调试功能和一些输出项了解下递归的原理,但是看的迷茫了,请各位大侠给小弟指点下迷津:
代码如下:

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);
}







就是想知道原理,这会是真的非常非常的糊涂!!!!
大侠们帮帮忙吧!!!
...全文
69 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
舷Kelvin 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bigbro001 的回复:]
多谢楼主分享~为了想让以后方便查阅,楼主可以给点分么?想做个记号,谢谢了~
[/Quote]

这也行……网摘和已回复帖子记录都是mark的功能啊。。。
bigbro001 2009-10-13
  • 打赏
  • 举报
回复
多谢楼主分享~为了想让以后方便查阅,楼主可以给点分么?想做个记号,谢谢了~
zhuyang7654321 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lbreathy 的回复:]
我吃了顿饭就明白了,原来是饿了~~~~~
[/Quote]

额,请问LZ吃的是什么 ?
LBreathy 2009-10-13
  • 打赏
  • 举报
回复
我吃了顿饭就明白了,原来是饿了~~~~~
舷Kelvin 2009-10-13
  • 打赏
  • 举报
回复
递归的东西很基础,最合适的讲解是有人拿一张纸一支笔在你面前演示一遍过程,很容易就说明白了。bbs还是有些局限。

具体哪里不懂,把问题说清楚来吧。
rookie001 2009-10-13
  • 打赏
  • 举报
回复
这好像没什么难理解吧~~
实在不行,不妨自己按着程序计算几个实例,如power(2,5),一步步把计算的过程列出来,就明白啦
舷Kelvin 2009-10-13
  • 打赏
  • 举报
回复
if(n>0)
{
count= power(x,n-1)*x;
}
if(n==0)
{
count=1;
}
先要弄明白的是这两句。

把num有关的以及控制台输出的都删掉,看看还有哪里看不懂的。

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧