------- android培训、java培训、期待与您交流! ----------
列出指定目录下的所有内容
函数自己调用自己,这种编程手法成为递归。
递归注意事项:
1.要限定条件
2.要注意递归的次数,避免内存溢出。
- import java.io.*;
- class Digui
- {
- public static void main(String[] args)
- {
- File dir = new File("d:\\JAVA");
- showDir(dir,3);
- //toBin(6);
- //sop(getSum(10));
- }
- public static void showDir(File dir,int level)
- {
- sop(getLevel(level)+dir.getName());
- level=level+1;
- File[] files = dir.listFiles();
- for(File str : files)
- {
- if(str.isDirectory())
- showDir(str,level);
- sop(getLevel(level)+str);
- }
- }
- public static String getLevel(int level)
- {
- StringBuilder sb = new StringBuilder();
- for(int x=0;x<level;x++)
- {
- sb.append("|--");
- }
- return sb.toString();
- }
- //递归的简单示例,求一个数的2进制。
- public static void toBin(int num)
- {
- if(num>0)
- toBin(num/2);
- sop(num%2);
- }
- //递归的简单示例,求1到n的和。
- public static int getSum(int n)
- {
- if(n==1)
- return 1;
- else
- {
- return n+getSum(n-1);
- }
- }
- public static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }