俄语网站开发,wordpress站点统计代码,网络营销策略案例,课程设计报告 网站开发概念#xff1a; 递归指的是方法定义中调用方法本身的现象#xff08;自己调自己#xff09;把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算 递归注意事项#xff1a; 递归一定要有出口。…概念 递归指的是方法定义中调用方法本身的现象自己调自己把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算 递归注意事项 递归一定要有出口。否则内存溢出(出口什么时候不再调用自己)递归虽然有出口但是递归的次数也不宜过多。否则内存溢出 public static void main(String[] args) {
System.out.println(main);
main(args);
}递归求和
计算1 ~ 5的和 public static void main(String[] args) {int sum getSum(100);System.out.println(sum);}private static int getSum(int i) {if (i 1) {return 1;} else {return i getSum(i - 1);}}递归求阶乘
讲解 找规律: n的阶乘 n 乘以 (n-1)的阶乘找出口: 当n1时,返回1 public static void main(String[] args) {//调用方法int result jc(5);//输出结果System.out.println(5的阶乘是 result);}public static int jc(int n) {//在方法内部判断该变量的值是否是1if (n 1) {//是返回1return 1;} else {//不是返回n*(n-1)!return n * jc(n - 1);}}文件搜索
搜索 D:\aaa 目录中的 .java 文件。
//1. 目录搜索无法判断多少级目录所以使用递归遍历所有目录。
//2. 遍历目录时获取的子文件通过文件名称判断是否符合条件。public static void main(String[] args) {
// 创建File对象File dir new File(D:\\aaa);
// 调用打印目录方法printDir(dir);}public static void printDir(File dir) {
// 获取子文件和目录File[] files dir.listFiles();
// 循环打印for (File file : files) {if (file.isFile()) {
// 是文件判断文件名并输出文件绝对路径if (file.getName().endsWith(.java)) {System.out.println(文件名: file.getAbsolutePath());}} else {
// 是目录继续遍历,形成递归printDir(file);}}}}