所谓递归(Recursion),就是方法调用自身。对于递归来说,一定有一个出口,让递归结束,只有这样才能保证不出现死循环。
递归:你就把返回的那个值即函数的返回值当作是它的一个计算,阶乘:
public int compute2(int number){
if(1==number){
return1;//首先判断出口点
}else{
return number*compute2(number-1);
}
}
斐波纳契数列
public class Fab
{
//使用递归计算斐波纳契数列
public int compute(int n)
{
//递归的出口,首先判断出口点
if(1 == n || 2 == n)
{
return 1;
}
else
{
return compute(n - 1) + compute(n - 2);
}
}
public static void main(String[] args)
{
Fab fab = new Fab();
System.out.println(fab.compute(9));
}
}
删除目录下的所有文件及目录
public class DeleteAll
{
public static void deleteAll(File file)
{
if(file.isFile() || file.list().length == 0)//这个也是出口
{
file.delete();
}
else
{
File[] files = file.listFiles();
for(File f : files)
{
deleteAll(f);
f.delete();
}
}
}
public static void main(String[] args)
{
deleteAll(new File("c://jakarta-jmeter-2.4"));
}
}