java递归分析
递归算法设计的基本思想是:对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解。
关键要抓住的是:
(1)递归出口
(2)地推逐步向出口逼近
例子:
example: 求5的阶乘。。
如下:
Java代码
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;
这事简单的递归的例子;所以可以看出来递归的关键
相关文档:
一直没有仔细去研究下filter ,最近系统的测试了下:
先看代码吧
Java代码
FirstFilter.java
==================
package com.test.filter;
import java.io.IOException;
import javax.servlet.Filter; &nb ......
教你怎样在java的应用程序中加入声音
最近在做java课程设计,想在应用程序(有main()函数的)中加入声音,大家知道
在 Java applet 中声音播放任务很简单,但是在应用程序中缺少这样的支持。现在告诉你如何
在 Java 应用程序中播放声音文件。
看了好多资料发现在 Java 应用程序中播放声音文件在现有发行的 Java ......
java 用rmi编写客户/服务程序
出现access denied 问题
因为不知道怎么配置 策略文件 就将客户端的System.setSecurityManager(new RMISecurityManager())删了,运行java ProductClient
成功!
配置策略文件得之后才弄啦 ......
package com.down.servlet;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import java ......