递归在java语言中的应用

递归在java语言中的应用

ID:6652372

大小:48.00 KB

页数:13页

时间:2018-01-21

递归在java语言中的应用_第1页
递归在java语言中的应用_第2页
递归在java语言中的应用_第3页
递归在java语言中的应用_第4页
递归在java语言中的应用_第5页
资源描述:

《递归在java语言中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、递归在java语言中的应用 两个小经验  1.在定义一个类时,不要随意定义成员变量.除非它是这个类的一个属性或者在类的多个方法中要用到 它.  2.  publicclassTest  {  publicstaticvoidmain(String[]args)     {      byte[]b=newbyte[102400*1024];     }  }  这是一个简单的程序,在写上传文件的程序时极有可能遇到这个情况.比喻说有一个文件的长度是100M.  在读取文件内容时就会这样写byte[]b=new  byte[102400*1024],但

2、是在运行时会出一个内存越界  错误.在实际应用中一定要非常小心. 二.递归:  先看一个小例子:   publicclassRecursion   {    publicstaticvoidfunc()    {     func();    }    publicstaticvoidmain(String[]args)    {     func();    }   }  上面就是一个简单的递归程序,运行一定会把内存吃光,所以在使用递归时一定要加上特定的条件    下面再看几个递归的例子.  (1).  publicclassYueShuTest

3、  {    //求最大公约数   publicstaticvoidyueshu(intnum1,intnum2)   {    if(num1==num2)    {     System.out.println(num1);    }    else    {     yueshu(Math.abs(num1-num2),Math.min(num1,num2));    }   }    //求二进制   publicstaticvoidbinary(intnum)   {    if(num>0)    {     binary(num/2)

4、;       System.out.print(num%2);    }   }    }  下面在看一个最经典的汉诺塔问题(很复杂的一个问题).  publicclassHanon  {   staticvoidhanon(intn,chara,charb,charc)   {    if(n==1)    {     move(1,a,c);     return;    }       hanon(n-1,a,c,b);    move(n,a,c);    hanon(n-1,b,a,c);    }      staticvoidmov

5、e(intn,chara,charc)   {    System.out.println(n+":"+a+"-->"+c);   }      publicstaticvoidmain(String[]args)   {     hanon(3,'A','B','C');    } } 看看,一个多么复杂的问题这么几行代码就搞定了.递归的威力无穷啊! 再来看一个更复杂的.  importjava.io.*;    classFileWrapperextendsFile  {   privatebooleanbLast=false;   priva

6、teFileWrapperparent=null;   publicFileWrapper(Filef,booleanbLast,FileWrapperparent)   {    super(f.getPath());    this.parent=parent;    this.bLast=bLast;   }      publicFileWrappergetMyParent()   {    returnparent;   }      publicbooleanisLast()   {    returnbLast;   }   }   

7、   publicclassFileTree  {   //第一种方法.   /*publicstaticStringmakeSpaces(intlevel)   {    StringBuffersbf=newStringBuffer();    for(inti=0;i

8、exists())    {     System.out.println("该文件不存在!");     return;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。