当前位置: 首页 > news >正文

邢台网站建设制作潍坊建设厅网站

邢台网站建设制作,潍坊建设厅网站,扁平化企业网站模板,企业邮箱怎么注册自己的账号#练习一#xff1a;从键盘接收一个文件夹路径#xff0c;统计该文件夹大小 ###分析#xff1a; ####每句话相当与每一个要求#xff0c;每一个要求用一个方法去实现 第一个方法 * getDir()* 第一个要求#xff1a;从键盘接收一个文件夹路径* 1#xff0c;创建键盘录入对…#练习一从键盘接收一个文件夹路径统计该文件夹大小 ###分析 ####每句话相当与每一个要求每一个要求用一个方法去实现 第一个方法 * getDir()* 第一个要求从键盘接收一个文件夹路径* 1创建键盘录入对象* 2定义一个无限循环* 3将键盘录入的结果存储并封装成File对象* 4对File对象判断* 5将文件夹路径对象返回第二个方法 * getFileLength(File dir)传入第一个方法所输入并且经过判断筛选之后的文件夹路径File dir* 第二个要求统计该文件夹大小* 1定义一个求和变量* 2获取该文件夹下所有的文件和文件夹 ListFiles();* 3遍历数组* 4判断如果是文件就计算大小并累加* 5判断如果是文件夹就递归调用 只有是文件夹才进行递归调用是因为文件夹大小不能直接获取而文件可以直接获取字节个数具体代码如下 package com.yy.test;import java.io.File; import java.util.Scanner;public class Test1 {/*** 需求* 1从键盘接收一个文件夹路径统计该文件夹大小* * 第一个方法* getDir()* 第一个要求从键盘接收一个文件夹路径* 1创建键盘录入对象* 2定义一个无限循环* 3将键盘录入的结果存储并封装成File对象* 4对File对象判断* 5将文件夹路径对象返回* * 第二个方法* getFileLength(File dir)传入第一个方法所输入并且经过判断筛选之后的文件夹路径File dir* 第二个要求统计该文件夹大小* 1定义一个求和变量* 2获取该文件夹下所有的文件和文件夹 ListFiles();* 3遍历数组* 4判断如果是文件就计算大小并累加* 5判断如果是文件夹就递归调用 只有是文件夹才进行递归调用是因为文件夹大小不能直接获取而文件可以直接获取字节个数* * */public static void main(String[] args) {File dir getDir(); //调用第一个方法直接获取文件夹System.out.println(getFileLength(dir));/*File dir new File(F:\\wps); //返回结果为0也就是不能直接获取文件夹大小System.out.println(dir.length()); //直接获取文件夹的结果为0*/}/*** 从键盘接收一个文件夹路径* 方法分析* 1返回值类型为File 获取文件夹路径所以返回值类型是File* 2,参数列表无* */public static File getDir(){Scanner wsq new Scanner(System.in); //创建键盘录入对象System.out.println(请输入一个文件路径); //输出一个提示语句while(true){ //定义一个无限循环String line wsq.nextLine(); //将键盘录入的结果存储到line里String nextLine()此扫描器执行当前行并返回跳过的输入信息。 此方法返回当前行的其余部分不包括结尾处的行分隔符。当前位置移至下一行的行首。File dir new File(line); //并将line封装成File对象dirif(!dir.exists()){ //对File对象dir进行判断如果录入的文件夹路径不存在 boolean exists()当且仅当此抽象路径名表示的文件或目录存在时返回 true否则返回 false System.out.println(您录入的文件夹路径不存在请输入一个文件夹路径 ); //给予提示}else if(dir.isFile()){ //对File对象dir进行判断如果录入的是文件路径boolean isFile()当且仅当此抽象路径名表示的文件存在且 是一个标准文件时返回 true否则返回 false System.out.println(您录入的是文件路径请输入一个文件夹路径 ); //给予提示}else { //对File对象dir进行判断录入的是文件夹路径return dir; //将文件夹路径对象返回}}}/*** 统计该文件夹大小* 方法分析* 1,返回值类型long length()方法的返回值是long* 2参数列表File dir* */public static long getFileLength(File dir){long len 0; //定义一个求和变量File [] subFiles dir.listFiles(); //获取该文件夹下所有的文件和文件夹 ;File[] listFiles()返回一个抽象路径名数组这些路径名表示此抽象路径名表示的目录中的文件。for (File subFile : subFiles) { //遍历数组使用增强for循环遍历 if(subFile.isFile()){ //判断如果是文件len len subFile.length(); //就计算大小并累加到求和变量len上}else{ //判断如果是文件夹len len getFileLength(subFile); //就再次调用该方法进行递归调用不能直接获取文件夹大小文件可以直接获取字节个数}}return len; //最后返回求和变量len的值} } #练习二从键盘接收一个文件夹路径删除该文件夹(删除要慎重因为删除的内容不经过回收站) ####分析 *1获取该文件夹下的所有的文件和文件夹 *2遍历数组 *3判断是文件直接删除 *4如果是文件夹递归调用 *5循环结束后把空文件夹删掉 package com.yy.test;import java.io.File;public class Test2 {public static void main(String[] args) {File dir Test1.getDir(); //对方法进行调用调用Test1里面的getDir()方法即从键盘接收一个文件夹路径的方法获取文件夹路径deleteFile(dir);}/**、* 删除文件夹* 方法分析* 1返回值类型void 因为删除嘛不需要任何的返回直接删掉就可以了* 2参数列表File dir* */public static void deleteFile(File dir){File [] subFiles dir.listFiles(); //获取该文件夹下的所有的文件和文件夹 listFiles()返回一个抽象路径名数组这些路径名表示此抽象路径名表示的目录中的文件for (File subFile : subFiles) { //遍历数组if(subFile.isFile()){ //判断是文件subFile.delete(); //直接删除}else{ //判断是文件夹deleteFile(subFile); //递归调用}}dir.delete(); //循环结束后把空文件夹删掉若不加这个只会把文件给删掉而不会把文件夹给删掉会留有空文件夹}} #练习三从键盘接收两个文件夹路径把其中一个文件夹中(包含内容)拷贝到另一个文件夹中 ###例如第一次录入的文件夹路径是 F:\wsq 第二个录入的文件夹路径是 F:\yy 运行结束之后就是在 F:\yy 该路径下重新将 wsq 文件夹全部拷贝下来 ###F:\yy\wsq其中yy是父级路径wsq是子级路径 分析 1在目标文件夹中创建原文件夹 原文件夹 原文件夹2获取原文件夹中所有的文件和文件夹存储在File数组中3遍历数组4如果是文件就用IO流读写 IO流只能读写文件不能读取文件夹5如果是文件夹就递归调用 package com.yy.test;import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class Test3 { /*** throws IOException * */public static void main(String[] args) throws IOException {File wsq Test1.getDir();File yy Test1.getDir();if(wsq.equals(yy)){System.out.println(目标文件夹是原文件夹的子文件夹);}else{copy(wsq,yy);}} /*** 把其中一个文件夹中(包含内容)拷贝到另一个文件夹中* 1返回值类型void* 2参数类型File wsq(原),File yy()* throws IOException * * */ private static void copy(File wsq, File yy) throws IOException {File newDir new File(yy,wsq.getName()); //在目标文件夹中创建原文件夹// getName()返回由此抽象路径名表示的文件或目录的名称// mkdirs()创建此抽象路径名指定的目录包括所有必需但不存在的父目录当且仅当已创建目录以及所有必需的父目录时返回 true否则返回 false newDir.mkdir(); //这一步骤完成之后就相当于在yy文件夹下创建wsq文件File [] subFiles wsq.listFiles(); //获取原文件夹(wsq)下的所有的文件和文件夹存储在File数组中for (File subFile : subFiles) { //遍历数组if(subFile.isFile()){ //如果是 文件 就用IO流(字节流)读写BufferedInputStream bis new BufferedInputStream(new FileInputStream(subFile)); //输入流字符流只能拷贝文本拷贝文件可以是任意的文件不止是拷贝文本所以说只能用字节流不能用字符流BufferedOutputStream bos new BufferedOutputStream(new FileOutputStream(new File(newDir,subFile.getName()))); //输出流getName()返回由此抽象路径名表示的文件或目录的名称int b;while((b bis.read()) ! -1){bos.write(b);}bis.close(); //关流bos.close(); //关流}else{ //如果是 文件夹 就递归调用copy(subFile,newDir);}}}} #练习四从键盘接收一个文件夹路径把文件夹中的所有文件以及文件夹的名字按层级打印 分析: 1,获取所有文件和文件夹返回的File数组2遍历数组3.无论是文件还是文件夹都需要直接打印4如果是文件夹递归调用 package com.yy.test;import java.io.File;public class Test4 {public static void main(String[] args) {File dir Test1.getDir(); //获取文件夹路径 printLev(dir,0);}public static void printLev(File dir,int lev) {//1,把文件夹中的所有文件以及文件夹的名称按层级打印File [] subFiles dir.listFiles(); //2,遍历数组for (File subFile : subFiles) {for(int i 0 ;ilev ; i){System.out.println(\t);}//3.无论是文件还是文件夹都需要直接打印System.out.println(subFile);//4如果是文件夹递归调用if(subFile.isDirectory()){printLev(subFile,lev 1);}}} } #练习五斐波那契数列(数组求跟递归求两种方法) package com.yy.test;public class Test5 {/*** 不死神兔* 故事得从西元1202年说起话说有一位意大利青年名叫斐波那契。* 在他的一部著作中提出了一个有趣的问题假设一对刚出生的小兔一个月后就能长成大兔再过一个月就能生下一对小兔并且此后每个月都生下一对小兔* 问一对刚出生的兔子一年内繁殖成多少对兔子* 1 1 2 3 5 8 13 21 34 ...... * * * */public static void main(String[] args) { // demo1(); //用数列求不用递推System.out.println(fun(22)); //调用递归方法求}private static void demo1() {//用数组做不死神兔int [] arr new int [10];//数组中第一个元素和第二个元素都为1arr[0] 1;arr[1] 1;//遍历数组对其他元素赋值for (int i 2; i arr.length; i) {arr [i] arr[i-2] arr[i-1];}/*//可以提供循环全部打印出来for (int i 0; i arr.length; i) {System.err.println(arr[i]);}*/System.out.println(arr.length-1); //也可以只打印最后一个月兔子的对数}/*** 用递归来求斐波那契数列* */public static int fun(int num){if(num 1 || num 2){return 1;}else {return fun(num - 1) fun(num - 2);}} } ##练习六斐波那契数列(数组求跟递归求两种方法) ###①求出1000所有零的个数不用递归 package com.yy.test;import java.math.BigInteger;public class Test6 { /*** 需求求出1000所有零的个数不用递归* * * */public static void main(String[] args) {/*int result 1;for (int i 0; i 1000; i) {result result * i;}System.out.println(result); //最后的输出结果为0因为1000远大于int的取值范围所以输出最后的结果为0*/demo1();demo2();}private static void demo2() { //获取1000尾部有多少个零BigInteger bi1 new BigInteger(1);for (int i 1; i 1000; i) {BigInteger bi2 new BigInteger(i );bi1 bi1.multiply(bi2); //将bi1与bi2相乘的结果赋值给bi1}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)){break;}else{count ;}}System.out.println(count); }private static void demo1() { //求1000中所有的零BigInteger bi1 new BigInteger(1);for (int i 1; i 1000; i) {BigInteger bi2 new BigInteger(i );bi1 bi1.multiply(bi2); //将bi1与bi2相乘的结果赋值给bi1}System.out.println(bi1);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); }} ###②求出1000所有零的个数用递归 /*** 需求求出1000尾部零的个数用递归做* 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 ... 1000 1000/5200* 5 * 5 5 * 5 * 2 5 * 5 * 3 5 * 5 * 4 5 * 5 * 5 5 * 5 * 6 200/540* 5 * 5 * 5 * 1 5 * 5 * 5 * 2 5 * 5 * 5 * 3 5 * 5 * 5 * 4 5 * 5 * 5 * 5 5 * 5 * 5 * 6 5 * 5 * 5 * 7 5 * 5 * 5 * 8 40/58* 5 * 5 * 5 * 5 * 5 8/51 * 2004081249* */ package com.yy.test;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);}} } 练习七约瑟夫环 故事从前有个叫约瑟夫环的国王国王有一天很高兴就把监狱里面的500个死囚犯带出来说“你们开始排队从1开始以此报数若是3的倍数就直接拉出去给杀掉最后剩余1个人无罪释放。” 问题键盘输入人数然后进排序从1开始以此报数若是3的倍数的人会被杀掉后面的人接着报数。 例如10个人 1 2 3 4 5 6 7 8 9 10 11 12 被杀 13 14 被杀 15 16 被杀 17 18 被杀 19 20 被杀 21 22 被杀 23 24 被杀 25 26 被杀 27 28 被杀 最后只有一个人生还就是 4。 package com.yy.test;import java.util.ArrayList;public class Test8 {public static void main(String[] args) {System.out.println(getLuckluNum(8));} /*** 获取幸运数字* 1返回值类型int* 2参数列表int num* * */public static int getLuckluNum(int num){ArrayListInteger list new ArrayList(); //创建集合存储1到num对象for (int i 1; i num; i) { //将1到num存储在集合中 list.add(i); }int count 1; //用来数数的只要是3的倍数就杀人for (int i 0; list.size() ! 1; i) { //只要集合中人数超过1就要不断地杀if(i list.size()){ //如果i增长到集合最大的索引1时i 0; //重新归零}if(count % 3 0){ //如果是3的倍数就杀人list.remove(i--);}count;}return list.get(0);} }
http://www.sadfv.cn/news/422703/

相关文章:

  • 网站模块是什么高端网站定制开发解决方案
  • 一流的福州网站建设怎么用dw建设自己的网站
  • 深圳好的网站建网站制作湖州
  • 网站开发销售网站做好后交接
  • 山东省住房和城乡建设厅网站建设网站哪家好
  • 天津市建设工程协会网站网站建设沈阳
  • 建站平台那个好wordpress 4.1分页
  • 做速卖通要关注的几个网站常州网站建设公司如何
  • 电商网站开源授权二次开发我是新手如何做电商
  • 优秀定制网站建设案例网站推广方案怎么写的
  • 好看的美食怎么做视频网站nancy网站开发
  • 自己做网站 如何推广网站建设易网宣
  • WordPress数据API杭州搜索引擎优化需求量
  • 织梦小说网站源码外贸公司网站模板
  • 网络销售网站有哪些门户网站建设情况调研报告
  • 工作室主题网站模板保定网站设计概述
  • 广东上海专业网站建设公司wordpress数据库怎么连接
  • 如何分析一个网站开发语言查询网站备案进度
  • 自助建站的优点与缺点昆山建设银行网站
  • 怎么做网站接口百度seo快速排名优化软件
  • 推荐几个安全免费的网站微信开放平台怎么注销账号
  • 网站的目录怎样做的网站js文件夹
  • 安徽网站建设价格小程序联盟商家版
  • seo网站优化师山东交通学院精品课程建设网站
  • 北京网站建设的服务建设部网站 43号文件
  • 南城网站建设软件商店官方下载
  • cp网站建设软文广告经典案例
  • 小企业网站建设口碑企业宣传网站设计论文
  • 大连做网站wordpress替换函数
  • 中国石油网站建设在线第三次作业义乌万物网络科技 网站建设