易截截图软件、单文件、免安装、纯绿色、仅160KB

Java递归分析

递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。
关键要抓住的是:
(1)递归出口
(2)地推逐步向出口逼近
例子:
example: 求5的阶乘。。      
  
如下:   
public class Test {
static int multiply(int n){
if(n==1||n==0)
return n;
else
return n*multiply(n-1);
}

public static void main(String[] args){
System.out.println(multiply(10));
}
}
上面的multiply是一个阶乘的例子。其实递归递归,从字面上解释就是在方法本身调用自己的方法,或者间接调用;看上面的程序,拿multiply(5)来说:   
n=5;执行 5*multiply(4);   
--------------------   
这时候看multiply(4)   
n=4 执行 4*multiply(3);   
-------------------   
看multiply(3)   
n=3,执行 3*multiply(2);   
---------------   
mulitply(2);   
n=2 执行 2*mulitply(1);   
这时候,return 1;往上返回   
2*1向上返回   
3*(2*1)向上返回   
4*(3*(2*1)) 向上返回   
5*(4*(3*(2*1)) ) = 120   
所以程序输出120;   
这事简单的递归的例子;所以可以看出来递归的关键得有递归出口(本体的If语句),还有递归方法;   
以下是我在百度知道碰到一个朋友的提问,也是关于递归算法的:
------------------------问题------------------------------
本人刚学JAVA,没有任何编程基础,各位高手见笑。
public class Count
{
static void count(int n) //递归方法
{
if (n<5)
count(n+1);
System.out.print(" "+n);
}
public static void main(String args[])
{
count(1)


相关文档:

java内存溢出


内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有 ......

Java抽取Word,PDF的四种武器

在这里总结一下抽取word,pdf的几种方法。
很多人用java进行文档操作时经常会遇到一个问题,就是如何获得word,excel,pdf等文档的内容?我研究了一下,在这里总结一下抽取word,pdf的几种方法。
1. 用jacob
其实jacob是一个bridage,连接java和com或者win32函数的一个中间件,jacob并不 ......

Java中的容器

线性表,链表,集合,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
主要分为两个分支:
Collectio ......

Java编译器使用—MyEclipse7.0如何安装vss插件?

1、将org.vssplugin_1.6.2文件夹及文件夹中的内容copy到...\Genuitec\Common\plugins目录下。
2、在目录...\Genuitec\MyEclipse 7.0\configuration\org.eclipse.equinox.simpleconfigurator 的文件bundles.info最后加一行
org.vssplugin,1.6.2,file:plugins\org.vssplugin_1.6.2\,4,false
3、重启MyEclipse7.0即可  ......

java与C

今天没有什么大事,想找java的资料就来到这里了!感觉还是Csdn的资料比较多。
最近换了工作,因为一些原因以前的工作。我以前是做C的,现在因为工作的需要却要做java。
现在大概看了一点java的东东,感觉java的用途很广,也很优秀。但是相比于C却缺少了一些透明度,但也可能正是因为这些透明
才使的它发展到现在吧。java ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号