Day23(练习)
package com.ning.day02;
import java.io.File;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
File dir = getDir();
System.out.println(getFileLength(dir));
}
public static File getDir() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个文件夹路径");
while (true) {
String line = sc.nextLine();
File dir = new File(line);
if (!dir.exists()) {
System.out.println("您录入的路径不存在,请重新录入");
} else if (dir.isFile()) {
System.out.println("您录入的是文件路径,请输入一个文件夹路径");
}
else {
return dir;
}
}
}
public static long getFileLength(File dir) {
long len = 0;
File[] subFiles = dir.listFiles();
for (File subFile : subFiles) {
if (subFile.isFile()) {
len = len + subFile.length();
} else if (subFile.isDirectory()) {
len = len + getFileLength(subFile);
}
}
return len;
}
}
package com.ning.day02;
import java.io.File;
public class Test2 {
public static void main(String[] args) {
File dir = Test1.getDir();
deleteFile(dir);
}
public static void deleteFile(File dir) {
File[] subFiles = dir.listFiles();
for (File subFile : subFiles) {
if (subFile.isFile()) {
subFile.delete();
} else {
deleteFile(subFile);
}
}
dir.delete();
}
}
package com.ning.day02;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test3 {
public static void main(String[] args) throws IOException {
File src = Test1.getDir();
File dest = Test1.getDir();
if (src.equals(dest)) {
System.out.println("目标文件夹是源文件夹的子文件夹");
} else
copy(src, dest);
}
public static void copy(File src, File dest) throws IOException {
File newDir = new File(dest, src.getName());
newDir.mkdir();
File[] subFlie = src.listFiles();
for (File subFile : subFlie) {
if (subFile.isFile()) {
BufferedInputStream bis =
new BufferedInputStream(new FileInputStream(subFile));
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(new File(newDir, subFile.getName())));
int b;
while ((b = bis.read()) != -1) {
bos.write(b);
}
bis.close();
bos.close();
}
else {
copy(subFile, newDir);
}
}
}
}
package com.ning.day02;
import java.io.File;
public class Test4 {
public static void main(String[] args) {
File dir = Test1.getDir();
printDirLev(dir, 0);
}
public static void printDirLev(File dir, int lev) {
File[] subFiles = dir.listFiles();
for (File subFile : subFiles) {
for (int i = 0; i <= lev; i++) {
System.out.print("\t");
}
System.out.println(subFile);
if (subFile.isDirectory()) {
printDirLev(subFile, lev + 1);
}
}
}
}
package com.ning.day02;
public class Test5 {
public static void main(String[] args) {
System.out.println(fun(13));
}
public static int demo1(int len) {
int[] arr = new int[len];
arr[0] = 1;
arr[1] = 1;
for (int i = 2; i < arr.length; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[arr.length - 1];
}
public static int fun(int num) {
if (num == 1 || num == 2) {
return 1;
} else {
return fun(num - 1) + fun(num - 2);
}
}
}
package com.ning.day02;
import java.math.BigInteger;
public class Test6 {
public static void main(String[] args) {
BigInteger bi1 = new BigInteger("1");
for (int i = 1; i <= 1000; i++) {
BigInteger bi2 = new BigInteger(i + "");
bi1 = bi1.multiply(bi2);
}
String str = bi1.toString();
StringBuilder sb = new StringBuilder(str);
str = sb.reverse().toString();
int count = 0;
for (int i = 0; i < str.length(); i++) {
if ('0' == str.charAt(i)) {
count++;
} else
break;
}
System.out.println(count);
}
private static void demo1() {
BigInteger bi1 = new BigInteger("1");
for (int i = 1; i <= 1000; i++) {
BigInteger bi2 = new BigInteger(i + "");
bi1 = bi1.multiply(bi2);
}
String str = bi1.toString();
int count = 0;
for (int i = 0; i < str.length(); i++) {
if ('0' == str.charAt(i)) {
count++;
}
}
System.out.println(count);
}
}
package com.ning.day02;
public class Test7 {
public static void main(String[] args) {
System.out.println(fun(1000));
}
public static int fun(int num) {
if (num > 0 && num < 5) {
return 0;
} else {
return num / 5 + fun(num / 5);
}
}
}
import java.util.ArrayList;
import java.util.Scanner;
public class Test8 {
public static void main(String[] args) {
System.out.println("请输入总人数");
int sum;
while (true) {
try {
Scanner sc = new Scanner(System.in);
sum = sc.nextInt();
System.out.println(getLuckyNum(sum));
break;
} catch (Exception e) {
System.out.println("输入不合法,请重新输入");
}
}
}
public static int getLuckyNum(int num) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= num; i++) {
list.add(i);
}
int count = 1;
for (int i = 0; list.size() != 1; i++) {
if (i == list.size()) {
i = 0;
}
if (count % 3 == 0) {
list.remove(i--);
}
count++;
}
return list.get(0);
}
}