您的位置:首页 > 产品设计 > UI/UE

DiGui

2016-02-27 15:02 281 查看
/*
* 递归:方法定义中调用方法本身的现象
*
* 注意事项:
* 		A:递归一定要有出口,否则就是死递归
* 		B:递归的次数不能太多,否则就内存溢出
* 		C:构造方法不能递归使用
*
* 需求:请用代码实现求5的阶乘。
* 下面的知识要知道:
* 		5! = 1*2*3*4*5
* 		5! = 5*4!
*
* 有几种方案实现呢?
* 		A:循环实现
* 		B:递归实现
* 			a:做递归要写一个方法
* 			b:出口条件
* 			c:规律
*/
public class DiGuiDemo {
public static void main(String[] args) {
int jc = 1;
for (int x = 2; x <= 5; x++) {
jc *= x;
}
System.out.println("5的阶乘是:" + jc);

System.out.println("5的阶乘是:"+jieCheng(5));
}

/*
* 做递归要写一个方法:
* 		返回值类型:int
* 		参数列表:int n
* 出口条件:
* 		if(n == 1) {return 1;}
* 规律:
* 		if(n != 1) {return n*方法名(n-1);}
*/
public static int jieCheng(int n){
if(n==1){
return 1;
}else {
return n*jieCheng(n-1);
}
}
}


import java.io.File;
/*
* 需求:递归删除带内容的目录
* 目录我已经给定:demo
*
* 分析:
* 		A:封装目录
* 		B:获取该目录下的所有文件或者文件夹的File数组
* 		C:遍历该File数组,得到每一个File对象
* 		D:判断该File对象是否是文件夹
* 			是:回到B
* 			否:就删除
*/
public class FileDeleteDemo {
public static void main(String[] args) {
// 封装目录
File srcFolder = new File("demo");
// 递归实现
deleteFolder(srcFolder);
}

private static void deleteFolder(File srcFolder) {
// 获取该目录下的所有文件或者文件夹的File数组
File[] fileArray = srcFolder.listFiles();

if (fileArray != null) {
// 遍历该File数组,得到每一个File对象
for (File file : fileArray) {
// 判断该File对象是否是文件夹
if (file.isDirectory()) {
deleteFolder(file);
} else {
System.out.println(file.getName() + "---" + file.delete());
}
}

System.out
.println(srcFolder.getName() + "---" + srcFolder.delete());
}
}
}


import java.io.File;

/*
* 需求:请大家把/Users/DWQ/Documents/ding/目录下所有的java结尾的文件的绝对路径给输出在控制台。
*
* 分析:
* A:封装目录
* B:获取该目录下所有的文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:继续判断是否以.java结尾
* 是:就输出该文件的绝对路径
* 否:不搭理它
*/
public class FilePathDemo {
public static void main(String[] args) {
// 封装目录
File srcFolder = new File("/Users/DWQ/Documents/ding/");

// 递归功能实现
getAllJavaFilePaths(srcFolder);
}

private static void getAllJavaFilePaths(File srcFolder) {
// 获取该目录下所有的文件或者文件夹的File数组
File[] fileArray = srcFolder.listFiles();

// 遍历该File数组,得到每一个File对象
for (File file : fileArray) {
// 判断该File对象是否是文件夹
if (file.isDirectory()) {
getAllJavaFilePaths(file);
} else {
// 继续判断是否以.java结尾
if (file.getName().endsWith(".java")) {
// 就输出该文件的绝对路径
System.out.println(file.getAbsolutePath());
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: