java filefilter递归_Java中的递归+文件过滤器
直接递归称为方法自身调用自己
间接递归可以A方法调用B方法,B方法调用方法,C方法调用A方法。
注意事项:
递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。
在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出。
构造方法,禁止递归。
假如有方法A,没有限制,不断的递归A方法,那么分配的栈内存中就有无数个A方法,最终导致栈内存溢出。构造方法中不可以递归,因为构造方法是创建对象使用的,一直递归会导致内存中有无数多个对象,直接编译报错。
用递归方法求1-100的和
public class Demo01{
public static void main(String[] args) {
System.out.println(get(100));
}
public static int get(int n) {
if (n == 1) {
return 1;
}
return n + get(n - 1);
}
}
用递归求n的阶乘
public class Demo01{
public static void main(string[] args){
}
public int get(int n){
if(n==1){
return 1;
}
return n*get(n-1);
}
}
波菲纳妾数列
public class Demo01{
public static void main(string[] args){
}
public int get(int n){
if(n==1){
return 1;
}
if(n==2){
return 1;
}
return get(n-1)+get(n-2)
}
}
public class Lx1 {
public static void main(String[] args) {
//创建目标对象文件
File f=new File("F:\\java0803\\date01");
//利用匿名内部类创建对象
FileFilter ff=new FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".java");
}
};
//建立file数组,遍历date01下的文件
File[] files=f.listFiles(ff);
for(File file:files){
System.out.println(file);
}
}
}
public class Lx1 {
public static void main(String[] args) {
//创建目标对象文件
File f=new File("F:\\java0803\\date01");
//利用匿名内部类创建对象
FileFilter ff=new FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".java");
}
};
//建立file数组,遍历date01下的文件
File[] files=f.listFiles(ff);
for(File file:files){
System.out.println(file);
}
}
}
遍历java0803下的java文件
public class Lx01 {
public static void main(String[] args) {
//创建目标文件
File file=new File("F:\\java0803");
//调用get方法
get(file);
}
public static void get(File file){
//打印文件夹
System.out.println("====="+file+"====");
//创建file数组,并判定规则
File[] files=file.listFiles(new Myfilefiller());
//遍历file数组
for(File f:files){
//判断是文件夹,是在调用get()方法
if(f.isDirectory()){
get(f);
}else{
System.out.println(f);
}
}
}
}
java filefilter递归_Java中的递归+文件过滤器相关推荐
- java file 方法_JAVA中File的常用方法
一.File类中包含了很多获得文件或文件夹属性的方法,使用起来比较方便,下面将常见的方法介绍如下: a.createNewFile方法 public boolean createNewFile() t ...
- java用递归删除文件夹_Java中通过递归调用删除文件夹下所有文件
摘自 : http://blog.sina.com.cn/s/blog_79333b2c0100xiu4.html import java.io.File; public class FileTest ...
- java迭代和 递归的异同_Java中的递归和迭代之间有什么区别?
该递归和迭代都重复执行的指令集.递归是指函数中的语句重复调用自身时的情况.该迭代是当循环重复执行,直到控制条件为假.递归和迭代之间的主要区别在于,递归是一个过程,始终应用于函数,而迭代则应用于我们要重 ...
- java读取文件 路径_Java中的获取文件的物理绝对路径,和读取文件
获取文件的绝对路径,读取该文件 一.文件目录打印图 下面的文件目录图,是项目中文件的位置信息:下面的例子是按照这个图来演示的. . |-- java | |-- ibard | | |-- demo1 ...
- java资源文件路径_Java 中获取资源(文件)的路径问题总结
Java 中获取资源(文件)的路径问题总结 首先,Java 中获取资源大体上可分为两种方式,基于 文件系统的 和 基于classpath的. 1. 基于文件系统的相对简单. 比如 构造一个File f ...
- java读取文件中的字符串_java中怎样将文件的内容读取成字符串
java中怎样将文件的内容读取成字符串 mip版 关注:68 答案:3 悬赏:10 解决时间 2021-01-18 02:36 已解决 2021-01-17 04:47 java中怎样将文件的内 ...
- java 读取文件的指定行_Java中实现读取文件指定行
Java中实现读取文件指定行 读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader..它有两个构造方法: public LineN ...
- java 通过路径下载文件_JAVA中实现根据文件路径下载文件
import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; ...
- java文本压缩算法_java 什么算法压缩文件最小
展开全部 有三种方式实现java压缩: 1.jdk自带的包java.util.zip.ZipOutputStream,不足之处,文件(夹)名称32313133353236313431303231363 ...
最新文章
- Linux之文本处理
- 51CTO独家调查:谁是十年最具影响力厂商
- java多线程 门闩_Java线程与并发编程实践----同步器(倒计时门闩,同步屏障)...
- LaTeX入门最终集 :LaTeX格式的调整LaTeX中怎么打出数学公式LaTeX的各种上下标
- android sco通信,android – startBluetoothSco()在ICS上抛出安全异常(BROADCAST_STICKY)
- 系统设计:性能指标、伸缩性、扩展性、可用性、安全性
- 普平数据招聘:数据中心建设项目经理(工程部 )2人
- 全球及中国垃圾发电行业运营管理及十四五投资价值评估报告2021-2027年
- boost::assertion_failed_msg相关的测试程序
- C/S简易UI框架开发总结(2)
- C#委托及事件处理机制浅析
- 经历了px、em之后,用 rem 适配屏幕
- java9 javafx_无法在java 9下针对java 8构建javafx应用程序
- xcode_8正式版安装遇到的小问题
- DbEntry on Mono 测试
- 11.29晚 心情 晴 既然选择了Linux这条路就要坚持走下去
- centos安装mysql5.7.26_Centos安装mysql5.7.26
- 为什么写了value属性 jq赋值value值不显示_为什么 String 要设计成 final,又如何设计一个不可变类呢?...
- ERP的模块流程/组织架构和其他基础知识
- java 遍历文件夹下所有文件及目录
热门文章
- 【神经网络】(3) 卷积神经网络(CNN),案例:动物三分类,附python完整代码
- python数据转换函数_常用python数据类型转换函数总结
- 四、One-hot和损失函数的应用
- Learn OpenGL (三):着色器
- 计算机图形学——三角形网格
- 设置显示Git的修改历史History快捷键Alt+H,方便多人开发的时候快速查看谁修改了代码
- vue获取“分享给朋友”按钮点击状态及自定义分享内容接口
- py-redis中的批量删除key方法
- 第1课第4.4节_Android硬件访问服务编写HAL代码
- 7个华丽的基于Canvas的HTML5动画