zoukankan      html  css  js  c++  java
  • 递归的典型用法

    一:递归的概念

    就是在自己的方法中调自己的方法,这样做可以提高效率。

    二:经典案例

     1 /**
     2  * 
     3  */
     4 package com.paic.recursion;
     5 
     6 import java.io.File;
     7 
     8 /**
     9  * @author Administrator 使用递归的几个案例
    10  */
    11 public class RecursionDemo {
    12 
    13     // 1:使用递归求1+2+3+4+5
    14     public static int getSum(int i) {
    15         if (i == 5) {
    16             return i;
    17         }
    18         return getSum(i + 1) + i;
    19     }
    20 
    21     // 2:使用递归,反转整数12345
    22     public static void reverseNum(int i) {
    23         if (i > 0 && i < 10) {
    24             System.out.println(i);
    25         } else {
    26             int num = i % 10;
    27             System.out.print(num);
    28             reverseNum(i / 10);
    29         }
    30     }
    31 
    32     // 3:使用递归,反转字符串abcdef
    33     public static String reverseString(String str) {
    34         if (str == null || str.length() < 1) {
    35             return str;
    36         }
    37         return reverseString(str.substring(1, str.length())) + str.charAt(0);
    38     }
    39 
    40     // 4:递归输出一个目录下的文件
    41     public static void printDir(File dir) {
    42         if (!dir.exists()) {
    43             return;
    44         }
    45         if (dir.isDirectory()) {
    46             File[] lists = dir.listFiles();
    47             for (File f : lists) {
    48                 printDir(f);
    49             }
    50         } else if (dir.isFile()) {
    51             System.out.println(dir.getAbsolutePath());
    52         }
    53     }
    54 
    55     // 测试
    56     public static void main(String[] args) {
    57         File dir = new File("F:/test");
    58         System.out.println(getSum(1));
    59         reverseNum(12345);
    60         System.out.println(reverseString("abcd"));
    61         printDir(dir);
    62     }
    63 }

    以上代码均已经验证!

  • 相关阅读:
    [Hadoop]
    [Linux]
    [Linux]
    [Hadoop]
    [Hadoop]
    vue-学习笔记-API-全局配置
    vue 风格指南-必须的
    vue 学习笔记-复用-自定义指令
    vue学习笔记-过滤器
    vue 学习笔记-复用-对象混入
  • 原文地址:https://www.cnblogs.com/warrior4236/p/5690094.html
Copyright © 2011-2022 走看看