package HomeWork;
import java.util.Scanner;
/**
* 1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问第二十个月的兔子对数为多少?(不死神兔)
分析:
第一个月兔子对数: 一个月兔子:1 两个月兔子:0 大兔子:0; 总数:1
第二个月兔子对数: 一个月兔子:0 两个月兔子:1 大兔子:0; 1
第三个月兔子对数: 一个月兔子:1 两个月兔子:0 大兔子:1; 2
第四个月兔子对数: 一个月兔子:1 两个月兔子:1 大兔子:1; 3
第五个月兔子对数: 一个月兔子:2 两个月兔子:1 大兔子:2; 5
第六个月兔子对数: 一个月兔子:3 两个月兔子:2 大兔子:3; 8
第七个月兔子对数: 一个月兔子:5 两个月兔子:3 大兔子:5; 13
...
第N个月兔子对数: 总数=(N-1个月的总数)+(N-2个月的总数)
*
*/
public class Test1 {
public static void main(String[] args) {
//创建一个数组
int[] sum = new int[20];
//第一个月兔子对数和第二个月兔子对数
sum[0] = 1;
sum[1] = 1;
for(int x = 2 ; x < 20 ; x++) {
sum[x]=sum[x-1]+sum[x-2];
}
System.out.println("第二十个月的兔子对数为:"+sum[19]);
System.out.println("-----------------");
System.out.println("第二十个月的兔子对数为:"+digui(20));
}
//递归方法
public static int digui(int month) {
if (month==1||month==2) {
return 1;
} else {
return digui(month-2)+ digui(month-1);
}
}
}
package HomeWork;
/**
* 2.需求:递归删除带内容的目录 假设项目路径下有一个demo文件夹里面里面又有一些文件夹和一些文件,请使用递归思路进行实现
*/
import java.io.File;
import java.io.IOException;
public class Test2 {
public static void main(String[] args) throws IOException {
File f = new File("demo\\dem\\de");
/*f.mkdirs();
f = new File("demo\\dem\\de\\d.txt");
f.createNewFile();*/
ShanChu(f);
}
public static void ShanChu(File f) {
File[] file = f.listFiles();
for(int x = 0 ; x < file.length ; x++) {
if(file[x].isDirectory()) {
file[x].delete();
}else {
System.out.println(file[x].toString()+"---"+file[x].delete());
}
}
System.out.println(f+"---"+f.delete());
}
}
package HomeWork;
//3.需求:请把E:\JavaSE目录下所有的java结尾的文件的绝对路径给输出在控制台
import java.io.File;
public class Test3 {
public static void main(String[] args) {
//创建文件目录
File file=new File("E:\\JavaSE");
//获取当前目录下所有文件夹和文件名称的File数组
File[] list=file.listFiles();
//对获取的数组进行非空判断
if(list!=null) {
//遍历File数组
for(int x=0;x<list.length;x++) {
//判断文件的名字是否包含java
if(list[x].getName().contains("java")) {
//输出所有带有java后缀的文件的绝对路径
System.out.println(list[x].getAbsolutePath());
}
}
}
}
}