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());
}
}
}
}
}
相关文章推荐
- UGUI运用美术字体
- UIViewContentMode的各种样式
- PyQt GUI--信号与槽
- ThreadPoolExecutor自定义RejectedExecutionHandler当队列满时改为调用BlockingQueue. put来实现生产者的阻塞
- 优先级队列:PriorityQueue
- ui-router参数传递问题
- SqlCommandBuilder实现大数据更新
- [Locked] Shortest Distance from All Buildings
- Handler类和Handler,Loop,MessageQueue的工作原理
- JavaWeb—DBUtils框架简介、DbUtils类、QueryRunner类 、ResultSetHandler接口
- UVA 11572(p239)----Unique snowflakes
- UIImage载入图片的几种方式及差别
- 点击easyui子页面中的按钮,在父页面中增加显示tabs
- iOS中一个UI控件看不见或者点击没有反应的可能原因
- 重写Tween动画组件
- 12.UISwitch
- NGUI 置灰的4歌shader
- bodybuilding
- 队列 <queue>
- iOS NSString 没有去除首尾空格,换行符,空字符--导致UIlabel不能正确计算换行后的动态高度