标签:
一:递归的概念
就是在自己的方法中调自己的方法,这样做可以提高效率。
二:经典案例
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 }
以上代码均已经验证!
标签:
原文地址:http://www.cnblogs.com/warrior4236/p/5690094.html